Code Monkey home page Code Monkey logo

labdoo-3.0's Introduction

Gitpod ready-to-code

Labdoo 3.0

Moving the Labdoo platform to Drupal 9/10

This project is the Labdoo 3.0 source code base for the Labdoo platform using Drupal 9 (and eventually Drupal 10).

You can install and develop locally using DDEV or entirely in the Cloud using Gitpod.

Custom Code Static Checking

Before submitting a pull request, please make sure any custom code meets Drupal Coding Standards and is using the latest Drupal APIs in anticipation of the project being released on Drupal 10 when it is released December 2022, using phpstan with phpstan-drupal. To run those tests use the following commands:

ddev ssh
phpcs --standard="Drupal,DrupalPractice" --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml web/modules/custom
phpstan --level=5 analyze web/modules/custom

If a PR is modifying code in the theme, add the command

phpcs --standard="Drupal,DrupalPractice" --extensions=php,module,inc,install,test,profile,theme,css,info,txt,md,yml web/modules/themes

Pull requests that have errors will not be approved and merged.

Installing and developing locally using DDEV

Prerequisites:

  1. DDEV, which itself requires
  2. Docker

Once those are installed and this repository is cloned, from the project root you cloned the repository into, start the DDEV environment using the command ddev start.

Note that unlike the Gitpod start below, DDEV locally doesn't automatically install a Drupal site. To setup for local development you can use the .scripts/dev-start.sh script which will

  1. Install Drupal using the standard profile
  2. Run any Drupal database updates
  3. Import the configuration in config/default (twice in case the first import enables additional configuration, e.g. for config_ignore & config_split)

Remembering to prefix most commands like composer, drush, etc with ddev.

Developing entirely in the cloud using Gitpod.

Video Demo

Watch a 5 minutes walkthrough video:

Setup a full Drupal dev environment in a browser

Prerequisites:

  1. Sign up for gitpod.io

Try it out:

  1. Click on the following link https://gitpod.io/#https://github.com/Labdoo/Labdoo-3.0
  2. Your environment is being prepared, wait a few minutes the first time, less than a minute after that. (A splash screen will appear)
  3. VScode IDE will be displayed, a few seconds later you will see an empty Drupal site. User 1 login is admin/admin.
  4. Run in terminal ddev xdebug on
  5. Open VScode's debugger, place a new breakpoint in web/index.php
  6. Open your website's URL in a browser.
  7. 🎉

Do you like PhpStorm instead of Theia or VScode?

  1. Open a bash window at the bottom
  2. .ddev/run-phpstorm.sh

How does it work?

  1. Gitpod - development environment based on Docker
    1. .gitpod.yml
      1. Defines the main docker image this environment is built on - .gitpod.Dockerfile
      2. Run prebuild commands:
        1. Start ddev
        2. Run composer install
        3. Install empty website using standard profile
    2. .gitpod.Dockerfile
      1. Set base image to Gitpod's workspace-full (link)
      2. Install ddev using brew
  2. ddev - ridiculously simple setup for complex development environments, allows developers working locally or working with Gitpod in the cloud.
    1. .ddev/config.yaml - main ddev (default) configuration, can be generated by running ddev config

Thank you

@rfay for your endless patience and relentless support that made this project possible. @shaal for the repository this one started out copying, https://github.com/shaal/ddev-gitpod

Persistent Storage:

  • Gitpod backs up the state of the /workspace/ folder between workspace starts, so that you can revisit them later. Attention: Files in other locations will not be saved!
  • Additional Storage Solutions

labdoo-3.0's People

Contributors

drprofesq avatar greggmarshall avatar jrosgiralt avatar labdoo-org avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

labdoo-3.0's Issues

Drupal 7 site is offline

The D7 site at https://ec2-3-121-181-157.eu-central-1.compute.amazonaws.com/ is offline with the following error

"Error message
PDOException: SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine: SELECT DISTINCT registry.name AS name, registry.filename AS filename FROM {registry} registry WHERE (type=:type AND ( filename like :filename OR name like :name )) ; Array ( [:type] => class [:name] => %MailSystem [:filename] => %.mail.% ) in mailsystem_get_classes() (line 282 of /var/www/lbd/profiles/labdoo/modules/contrib/mailsystem/mailsystem.module)."

This is most likely caused by my doing the following on June 26th

  1. Enabling Backup and Migrate
  2. Starting backup.

Wondering if the Amazon instance has sufficient capacity to run a backup?

Rebase with Labdoo 2.0 main branch once Labdoo 3.0 is completed

Labdoo 3.0 will be based on the Labdoo 2.0 branch feature/batchedDashboardAndOthers (which is the branch we are running in production). This branch, however, is about 20 commits behind. These 20 commits are mostly some work on the integration between Drupal and WP.

Once Labdoo 3.0 Drupal is completed, go and bring in to it these 20 additional commits from the main branch. These commits can be found here:

Labdoo/Labdoo-2.0@feature/batchedDashboardAndOthers...master

Or by clicking on "X commits behind master" in here: https://github.com/Labdoo/Labdoo-2.0/tree/feature/batchedDashboardAndOthers

Access to db from live Labdoo 2.0 site

Requesting either Linux terminal access or an sql dump of the live Labdoo 2.0 site. The Dev site db has been trimmed to the point that many fields have no data and settings like language have been removed so that only English is available. Testing migration scenarios is highly degraded with the reduced site.

Terminal access is not needed if a simple drush sql-dump command can be run by the site admin and the db made available.

Cannot create branch

As we noticed during our last meeting, the branch dropdown labled Main on the Github page for Labdoo 3.0 does not offer the selection for Create branch. I have tried it from Gitpod using command line and it lets me create a branch by name, but I get permission not available messages when I try to commit

I tried the same thing under my forked version of Labdoo 3.0 and I was able to create a branch and push it to Github.
The branch dropdown on the forked version offers Find or Create branch. It appears that there may be a user permission issue with the Labdoo 3,0 repository that prevents some users from
creating and attaching a branch?

image

Drupal 8/9 Training Resources

These are mostly free Drupal 8/9 training resources I have recommended in the past. The exception to the free part is the recommendation to subscribe to OSTraining.com, which unlocks a lot more content than the Drupal 8 courses that are free.

Paid Drupal 8/9 Training “Bootcamps”
DrupalEasy Drupal Career Online. Well respected (I sent my daughter through DrupalEasy Career Online when she decided to switch from energy and sustainability to development). 12 week on-line program done via Zoom/Google Hangouts. Two 3 ½ hour classes and a 4 hour lab session each week. Covers tools (e.g. git and composer), site building, and introductions to theming and module building. $3,400 tuition. https://www.drupaleasy.com/academy/dco/course-information

Debug Academy. I don’t know as much about Debug Academy. They offer a similar 13 week immersion course with the instructor available full time for 3 weeks after the course for follow up. There is an emphasis on building a functioning site/project. One of the projects the course attendees have worked on (in different sessions) is https://drupal.tv/. It does appear they offer hybrid online/in person programs. $3,600 tuition. https://debugacademy.com/

Drupal 8/9 Site Building
Drupal 8/9 Site Builder Certification
Acquia has a Site Builder Certification for both Drupal 7, Drupal 8 and Drupal 9 (separate exams). The Acquia Certified Drupal 8/9 Site Builder is a credential intended for professionals who build Drupal sites using core and contributed modules. This exam is designed to validate skills and knowledge of a Drupal Site Builder. This test focuses on knowledge of Drupal 8/9 and topic areas including Drupal features, content and user management, content modeling, site display, community and contributed projects, module and theme management, security and performance.

Information on the Site Builder Certification is at https://www.acquia.com/solutions/customer-success/acquia-certification. There is a Drupal 8 Site Builder Study Guide at https://acquia-academy.gitbook.io/study-guide-drupal-8-site-builder-exam/ and https://docs.acquia.com/certification/study-guides/d9-site-builder/

There is a part of the Acquia Site Builder exam that covers the community and using the issue queues. I found some free videos that should help make sure you are ready for that section.

https://drupalize.me/videos/drupal-community-demystified 1+ hour video
https://drupalize.me/videos/get-drupalorg-account 10 minute video
https://drupalize.me/videos/drupalorg-documentation 10 minute video
https://drupalize.me/videos/search-drupalorg 5 minute video
https://drupalize.me/videos/getting-started-issue-queue?p=1176 13 minute video
http://drupalladder.org/lesson/1d498fa2-d3e4-5754-9160-757d219e8032 documentation on Getting started in the issue queue
https://drupalize.me/videos/how-give-hug
https://www.drupal.org/issue-queue Use the issue queue
https://www.youtube.com/watch?v=8VKp7RBPOOY Drupal - Helping in the Issue Queues
https://www.youtube.com/watch?v=hRlXTinjs4o Drupal Dev Notes: How to start contributing to modules on drupal.org
https://www.youtube.com/watch?v=2_4_-Pfs5ww Reporting an issue: What developers really want to know
https://drupalize.me/videos/installing-and-using-dreditor
https://drupalize.me/videos/using-irc-internet-relay-chat
https://drupalize.me/series/learn-drupal-ladder

As a final step, I suggest you go to http://simplytest.me and start a Drupal 9 instance, expand the advanced fieldset and add the modules admin_toolbar and devel. When the site spins up, go to Extend and enable the admin_toolbar, devel_generate and ALL core modules EXCEPT experimental modules. Then go through each menu item and try the various options, also create a couple of content types using each field type, then have devel_generate create some content, then go back and try editing the field definitions, you should see the circumstances where settings can't be changed once content is created. Also look carefully at the text formats and how WYSIWYG is configured at a high level.

Online Training for Drupal 8
We use on-line training more than in-person training mostly because it is hard to get funding for in-person. Here's what I recommend to learn basic site building:

Make sure you have a drupal.org account, https://register.drupal.org/user/register. When you register, you start a clock that tracks how long you’ve had your account. That becomes part of your reputation later.
Install a local development environment on your computer. For long term development, I recommend a Docker based environment like DDEV, https://www.ddev.com/, or Lando, https://lando.dev/, but they are a lot harder to get running and require additional background not included in this site builder training. If you are not comfortable on the command line and only doing site building training to get started with Drupal, Acquia’s DevDesktop, https://dev.acquia.com/downloads, is a good, fully self contained option for either Windows or Mac. If you are using Linux, I assume you can install DDEV or Lando and should do it..
The key to getting the most out of this on-line training is to create a local site and follow along with the lessons, building the example site on your local environment. It is far too easy to say “I understand that” but then find out when you try doing it yourself you really didn’t understand one step which causes the site to not work as it should.

The following two classes are recommended in order listed. Both the OS Training and the YouTube URLs are listed. The classes are free either way. OS Training has a lot of additional classes, including more advanced Drupal, Wordpress, Joomla, PHP/MySQL, coding, etc. plus some supplementary material for the free classes (quizes and a certificate of completion). I encourage people to sign up for OS Training because it also helps fund additional courses. OS Training often (usually) has a special offer of $59/69 for a year’s access to all their material.

The Beginners Guide to Drupal 8
https://www.ostraining.com/class/d8-beginner
https://www.youtube.com/playlist?list=PLtaXuX0nEZk9MKY_ClWcPkGtOEGyLTyCO

Drupal 8 Site Building
https://www.ostraining.com/class/d8-site-building
https://www.youtube.com/playlist?list=PLtaXuX0nEZk9_p3OiVFV96FMQwPWklRiL

The Beginners Guide to Drupal 9 (enough different from the above Drupal 8 series that if you plan on using Drupal 9, use this course, although it is not free).
https://www.ostraining.com/class/drupal-9-explained-course/

Drupal 8 Layout Builder
https://www.ostraining.com/class/drupal-8-layout-builder/

How to Install Git
https://www.ostraining.com/class/how-to-install-git/ (paid section)
http://modulesunraveled.com/installing-git

How to Use Git and Version Control, Part 1
https://www.ostraining.com/class/git/ (paid section)
http://modulesunraveled.com/very-basics-git

How to Use Git and Version Control, Part 2
https://www.ostraining.com/class/git-2/ (paid section)
http://modulesunraveled.com/very-basics-git

Git Essential Training (89 videos, 6.5 hours) -- Paid
https://www.lynda.com/Git-tutorials/Git-Essential-Training-Basics-REVISION-2019-Q1/5030978-2.html

Git Branches Merges and Remotes -- Paid
https://www.lynda.com/Git-tutorials/Git-Branches-Merges-Remotes/5030980-2.html

Drupal 8 Composer and Configuration Management
https://www.ostraining.com/class/composer
https://modulesunraveled.com/drupal-8-composer-and-configuration-management
This class is a bit out of date and more oriented to developers, but still worth reviewing.

How to Use the Twig Template Engine
https://www.ostraining.com/class/twig/

How to Design Drupal 8 Themes
https://www.ostraining.com/class/d8-themes/

How to Develop Drupal 8 Modules
https://www.ostraining.com/class/d8-dev

Drupal 8/9 DevOps
Composer
drupal.org Composer documentation https://www.drupal.org/node/2718229
Common Problems and Solutions with Drupal + Composer https://www.jeffgeerling.com/blog/2017/composer-and-drupal-are-still-strange-bedfellows
Deprecated project (replaced by drupal/recommended-project) https://github.com/drupal-composer/drupal-project
Adding patches to Drupal composer projects https://github.com/cweagans/composer-patches
Composer in core initiative https://www.drupal.org/project/ideas/issues/2958021
Improve Composer Performance and Memory Usage https://www.jeffgeerling.com/blog/2018/make-composer-operations-drupal-way-faster-and-easier-on-ram
Composer Cheat Sheet for developers https://composer.json.jolicode.com/
Composer Documentation https://getcomposer.org/doc/
Building Drupal 8 Sites with Composer and Configuration Management https://www.youtube.com/watch?v=RzOt0LxNAec
DrupalCon Amsterdam 2019: Composer and Drupal: Past, Present and Future https://www.youtube.com/watch?v=ddPL91oHQdU
Composer 101 : Govern your Drupal project with Composer https://www.youtube.com/watch?v=3FOxjoVg2V0
Composer Tips/Tricks https://www.youtube.com/watch?v=H-1lMICDPy4
Composer 101 https://www.youtube.com/watch?v=TTNz8G9fxXY
Improving your Drupal 8 development workflow https://www.youtube.com/watch?v=Dq3tNi2ZTeE

Configuration Management
Configuration Management and Config Split Training by John Picozzi https://noti.st/johnpicozzi/Rlwyhv/configuration-management-config-split-basics-training
Building Drupal 8 Sites with Composer and Configuration Management https://www.youtube.com/watch?v=RzOt0LxNAec
Advanced Configuration Management in Drupal 8 https://www.youtube.com/watch?v=w0bhrmkaEVs
Using Config Split to Split Your Config Across Environments and Sites https://www.youtube.com/watch?v=rwKjVVhOHs4
Configuration Workflow D8 https://www.youtube.com/watch?v=fGq_xLmnvAU&list=PLsGrHy_lmfhSB6E7USUg9wgDel_xEd1qE&index=14
Testing

Testing -- Behat
Testing Your Drupal Website just got easier with Behat (A comprehensive tutorial)
https://www.specbee.com/blogs/testing-your-drupal-website-just-got-easier-behat-comprehensive-tutorial
Automate Tests For Multiple Drupal Sites Using A Single Script
https://www.axelerant.com/resources/team-blog/automate-tests-for-multiple-drupal-sites-using-a-single-script?hss_channel=lcp-3142330https://www.axelerant.com/resources/team-blog/automate-tests-for-multiple-drupal-sites-using-a-single-script?hss_channel=lcp-3142330
Writing Good Gherkin Enables Good Test Automation
https://angiejones.tech/writing-good-gherkin-enables-good-test-automation/
Testing the 'Add user' and 'Edit account' forms in Drupal 8 with Behat
https://www.jeffgeerling.com/blog/2018/testing-add-user-and-edit-account-forms-drupal-8-behat
Logging in as an existing user in a Behat test with the Drupal Extension
https://www.jeffgeerling.com/blog/2018/logging-existing-user-behat-test-drupal-extension
Using Behat as a Webapp Automation Tool
https://drupal.tv/external-video/2019-04-12/drupalcon-seattle-2019-using-behat-webapp-automation-tool
The Drupaler's Guide to Behavior Driven Development (BDD) with Behat
https://drupal.tv/external-video/2018-04-29/drupalers-guide-behavior-driven-development-bdd-behat
DrupalCon Seattle 2019: Behavior-Driven Development in Drupal 8 with Behat
https://drupal.tv/external-video/2019-04-12/drupalcon-seattle-2019-behavior-driven-development-drupal-8-behat
From User Acceptance Testing to Automated Testing
https://drupal.tv/external-video/2018-11-19/user-acceptance-testing-automated-testing

Drupal 8/9 Back End Development
Caching
https://www.axelerant.com/resources/team-blog/drupal-8-quick-handbook-on-cache-api
Drupal 8 Caching: A Developer’s Guide, https://www.youtube.com/watch?v=eB4NWo5XwMY
Caching Strategies for Scaling Drupal: Common Missteps vs Best Practices [May 5, 2016], https://www.youtube.com/watch?v=o8OWEFXqAjU

Module Development
https://www.youtube.com/playlist?list=PLpVC00PAQQxHi-llE9Z8-Q747NYWpsq6t
https://www.youtube.com/watch?v=f_6_v1leFiE&list=PL598781B77C942533&index=268&t=0s

Drupal 8/9 Front End Development

Theming
https://www.youtube.com/playlist?list=PLpVC00PAQQxG0sW9YOueVgouRp4aj1bng
https://www.youtube.com/watch?v=OZRax-Njrlo&list=PL598781B77C942533&index=240&t=0s

Decoupled Drupal
https://www.youtube.com/playlist?list=PLpVC00PAQQxFEfiUV2mq4o7yq--SHozfX
https://www.youtube.com/playlist?list=PLpVC00PAQQxH9OVQUl66Bw46ULgp-pgxR

FlexBox (Important for Acquia Cohesion)
Tutorials
The Complete CSS Flex Box Tutorial, https://medium.com/@js_tut/the-complete-css-flex-box-tutorial-d17971950bdc
Flexbox, https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox
CSS Flexbox, https://www.ostraining.com/blog/webdesign/css-flexbox-basic-concepts/
Learn CSS Flexbox in 3 Minutes, https://medium.com/learning-new-stuff/learn-css-flexbox-in-3-minutes-c616c7070672
A Complete Guide to Flexbox, https://css-tricks.com/snippets/css/a-guide-to-flexbox/
Video Training
Learn Flexbox for free, https://scrimba.com/g/gflexbox
What the Flexbox?, https://flexbox.io/
CSS Flexbox Course (48 min), https://www.youtube.com/watch?v=-Wlt8NRtOpo
CSS Full Course - Includes Flexbox and CSS Grid Tutorials (1 hr 25 min), https://www.youtube.com/watch?v=ieTHC78giGQ
Learn CSS FLEXBOX in 20 Minutes (21 minutes), https://www.youtube.com/watch?v=qqDH0T6K5gY
Acquia Products
Acquia Cloud
Product Demo, https://www.youtube.com/watch?v=29xPdVLKCzg
Extended Demo, https://www.youtube.com/playlist?list=PLEF58274FFA13C53B
Acquia Cloud Documentation, https://docs.acquia.com/acquia-cloud/
Acquia Cloud Pro certification study guide, https://acquia-academy.gitbook.io/acquia-study-guide-cloud-ui-pro-certification-exa/
Acquia Cloud Site Factory (ACSF)
Product Demo, https://www.youtube.com/watch?v=bw-_rE-J7pc
Tutorials (ignore Drupal Gardens at beginning) https://www.youtube.com/playlist?list=PLpVC00PAQQxGUVGPh3mmHJ5Q3ndbbF0TA
Site Governance https://www.youtube.com/watch?v=8v44hQL2AsY
Acquia Cloud Site Factory Documentation, https://docs.acquia.com/site-factory/
Acquia Search Documentation, https://docs.acquia.com/acquia-search/
Config Management for Drupal Multi-site and Distributions, https://www.youtube.com/watch?v=T0uNpkM1M9M
Acquia Academy Partner Classes, Acquia Cloud Site Factory Customer Onboarding
Acquia Cloud Site Factory Product Introduction, ID: E-7VRD21 (4 videos)
Acquia Cloud Site Factory: Navigating the Site Factory Interface, ID: E-E045KV (12 videos)
Acquia Cloud Site Factory: Code Management Concepts, ID: E-602KWV (8 videos)
Acquia Cloud Site Factory: Many Site Management with Site Factory, ID: E-E0JXM1 (1 video)
Acquia Cloud Site Factory: ACSF Governance, ID: E-D19EP1 (1 video)
Checklist for Migrating Sites to Acquia Cloud Site Factory, ID: E-7VRG21

Cohesion
Product Demo, https://www.youtube.com/watch?v=nMBGcBpAbCk
Product Documentation https://cohesiondocs.acquia.com/user-guide
Product Video Tutorial (pre-Acquia acquisition version) https://cohesiondocs.acquia.com/tutorials/getting-started-training-demo
Acquia Certified Site Studio Site Builder certification study guide, https://acquia-academy.gitbook.io/study-guide-acquia-certified-cohesion-site-builder/
Acquia Academy Partner Classes, Acquia Cohesion: Site Builder 6.x Onboarding
Making the Most of Acquia Support, ID: E-P0YDE0 (4 videos)
Acquia Cohesion Product Introduction, ID: E-E0JOD1 (3 videos), https://www.acquiaacademy.com/learn/course/449/site-studio-product-introduction
Planning for a Successful Cohesion Engagement, ID: E-YVMKR1 (2 downloads + 2 documentation pages), https://www.acquiaacademy.com/learn/course/495/planning-for-a-successful-site-studio-engagement
Acquia Cohesion 6.x Site Building, ID: E-E0J8D0 (20 videos, same as Product Video Tutorial above) https://www.acquiaacademy.com/learn/course/473/site-studio-6x-site-building
Acquia Cohesion 6.x User Guide, ID: E-YVM5RV (17 “lessons”, same as Product Documentation above)
Lightning
Product Demo, https://www.youtube.com/watch?v=SNI23mWJunI
https://www.youtube.com/playlist?list=PLpVC00PAQQxG_Rv3DtrZtz_fdxGVb5EYL
https://www.youtube.com/watch?v=NOYnMGlylvI&list=PL598781B77C942533&index=254&t=0s

Packt Publications Books and Videos
https://www.packtpub.com/web-development/drupal-9-module-development-third-edition
https://www.packtpub.com/web-development/drupal-8-theming-twig
https://www.packtpub.com/web-development/mastering-drupal-8
https://www.packtpub.com/web-development/drupal-8-development-cookbook-second-edition
https://www.packtpub.com/web-development/learning-drupal-8
https://www.packtpub.com/web-development/mastering-drupal-8-views
https://www.packtpub.com/web-development/drupal-8-blueprints
https://www.packtpub.com/product/mastering-drupal-8-development-video/9781787124493 (video)
https://www.packtpub.com/product/drupal-8-for-beginners-video/9781787122895 (video)
https://www.packtpub.com/product/drupal-8-efficient-application-development/9781788299312 (video)
https://www.packtpub.com/product/drupal-8-development-solutions-video/9781786469939 (video)

Creating nodes automatically at building time

Hi @greggmarshall ,

I would like to create a node automatically at building time. For instance, in Labdoo we have a hub called "Grassroots Hub" which is generic and should always exist. I would like this node (which is of content type "hub") to be created automatically when Labdoo 3.0 is being built and initialized. What is a good way to do this in Drupal 9?

Many thanks.

Jordi

Push to main

Accidentally pushed modules to main instead of my branch. I began work without checking out my branch

It also appears I may have clobbered composer.json. scripts/dev-setup.sh blows up after starting ddev

Labdoo 2.0 Drupal 7 Module Analysis

I took the .make file for Labdoo 2.0, which is Drupal 7, and reviewed each module and theme. Here are the results of that review:

Themes

  • bootstrap - bootstrap is D9 compatible, if you want to continue using Bootstrap 3,
    if you want Bootstrap 4 or 5, the barrio theme seems to be popular
  • labdoo custom theme will need to be completely rebuilt since the template engine from Drupal 7 isn't used any more, replaced by Twig
  • gin - recommended administration theme, extends claro, which will replace seven in D10

Modules that have a Drupal 9 compatible version

  • addtoany - D9 compatible
  • antibot - D9 compatible
  • calendar - D9 compatible in alpha release
  • captcha - D9 compatible
  • coder - D9 compatible, doesn't install as a module any more
  • colorbox - D9 compatible
  • computed_field - D9 compatible in alpha release
  • conditional_fields - D9 compatible in alpha release
  • context - D9 compatible
  • ctools - D9 compatible
  • delete_all - D9 compatible
  • devel - D9 compatible
  • diff - D9 compatible
  • disqus - D9 compatible, also has a new version in alpha release
  • drush_language - D9 compatible, need to check compatibility with Drush 11 and might be redundant, https://www.drupal.org/project/drush_language/issues/3180653
  • entityreference_filter - D9 compatible
  • eva - D9 compatible
  • extlink - D9 compatible
  • field_group - D9 compatible
  • flag - D9 compatible in beta release
  • flexslider - D9 compatible
  • google_analytics - D9 compatible
  • homebox - D9 compatible with warning about using in production
  • honeypot - D9 compatible
  • imce - D9 compatible, might look at using core's media library instead
  • lang_dropdown - D9 compatible
  • legal - D9 compatible
  • linkchecker - D9 compatible
  • mailsystem - D9 compatible
  • mass_contact - D9 compatible
  • memcache - D9 compatible
  • mimemail - D9 compatible
  • node_export - D9 compatible
  • node_view_permissions - D9 compatible, why?
  • pathauto - D9 compatible
  • plupload - D9 compatible
  • publishcontent - D9 compatible, replace with content moderation?
  • r4032login - D9 compatible
  • recaptcha - D9 compatible
  • reroute_email - D9 compatible
  • role_delegation - D9 compatible
  • search_autocomplete - D9 compatible
  • sharethis - D9 compatible
  • simplenews - D9 compatible
  • smtp - D9 compatible
  • spambot - D9 compatible
  • subpathauto - D9 compatible
  • token - D9 compatible
  • user_restrictions - D9 compatible
  • video_filter - D9 compatible
  • view_unpublished - D9 compatible
  • views_autocomplete_filters - D9 compatible
  • views_slideshow - D9 compatible
  • views_tree - D9 compatible in alpha version

Note that modules will need to be manually configured and configuration exported. Do not attempt to use the existing Drupal 7 features, they will not work.

Modules that do not have a Drupal 9 version or have been incorporated into Drupal core

  • boost - replaced by D9 core caching
  • boxes - no D8/D9 version
  • countries - no D8/D9 version
  • date - Moved into D9 core, if you want more functionality look at smart_date
  • drupal_wall - no D8/D9 version
  • drupalchat - no D8/D9 version, switch to rocket_chat?
  • edit_profile - no D8/D9 version
  • email - Moved into D9 core
  • entity - Moved into D9 core, not sure why there's a D8/D9 version
  • entityreference - Moved into D9 core
  • entityreference_prepopulate - no D8/D9 version
  • features - D9 compatible, but highly recommended not to use, replaced by core configuration management
  • features_extra - no D8/D9 version, likely not needed
  • field_collection - no D8/D9 version, usually replaced by paragraphs
  • file_entity - D9 compatible but not recommended by maintainers, mostly moved into core, should probably use media instead
  • gmap - no D8/D9 version, geolocation is recommended
  • google_adwords - no D8/D9 version
  • google_recaptcha - no D8/D9 version, replace with recaptcha module
  • hide_submit - no D8/D9 version
  • hybridauth - no D8/D9 version
  • i18n - Moved into D9 core
  • i18nviews - Moved into D9 core
  • imagecache_actions - no D8/D9 version, replaced by image_effects
  • imagemagick - D9 compatible, also there's imagick that uses the PHP extensio
  • imce_mkdir - no D8/D9 version
  • imce_wysiwyg - no D8/D9 version
  • ip_geoloc - no D8/D9 version, might look at smart_ip for ip to location lookup
  • jquery_update - no D8/D9 version, moved into core
  • l10n_update - Moved into D9 core
  • libraries - Moved into D9 core, there still is a D9 version for some functionality (never needed it)
  • location - no D8/D9 version, replace with geolocation and address modules, see also https://www.drupal.org/project/location_migration for migration automation
  • logintoboggan - no D8/D9 version
  • menu_view_unpublished - no D8/D9 version look at view_unpublished
  • migrate - Moved into D9 core, https://www.drupal.org/docs/upgrading-drupal/how-to-prepare-your-drupal-7-or-8-site-for-drupal-9
  • migrate_d2d - Moved into D9 core
  • module_filter - Moved into D9 core, not sure what D9 version adds
  • node_gallery - no D8/D9 version right be replacable with a view
  • nodeaccess_userreference - no D8/D9 version
  • oauth2_loginprovider - no D8/D9 version
  • og - D9 compatible, although mostly replaced in D8/D9 by group module (fewer than 1,000 D8/D9 sites use og va 12,000 group)
  • og_extras - no D8/D9 version
  • registration - no D8/D9 version, might look at https://www.drupal.org/project/smart_date_starter_kit
  • rules - D9 compatible although not very well supported, might also look at eca module which is new
  • search_config - no D8/D9 version
  • services - D9 compatible, although REST is built into D9 core
  • simplify - Moved into D9 core
  • special_menu_items - Moved into D9 core
  • stringoverrides - no D8/D9 version
  • strongarm - no D8/D9 version, deprecated by core configuration management
  • termcase - no D8/D9 version
  • transliteration - no D8/D9 version, this may have been moved into core
  • uuid - Moved into D9 core
  • variable - no D8/D9 version
  • views - Moved into D9 core
  • views_dependent_filters - no D8/D9 version
  • views_distinct - no D8/D9 version, there is an option in views for this
  • wysiwyg using tinymce - Moved into D9 core although using CKEDITOR
  • xautoload - no D8/D9 version, probably not needed since D9 has PSR-4 autoloading

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.