Unable to install LMS migrate due to unmet dependencies

Created on 20 August 2025, 3 days ago

Problem/Motivation

When installing the module on a site based on the DDEV LMS starter repo, it's not possible to enable the module. Instead, the following error occurs:

Unable to install LMS migrate due to unmet dependencies: group.relationship_type.lms_course-group_node-discussion (node.type.discussion, gnode), group.role.lms_class-admin_insider (user.role.opigno_administrator), group.role.lms_class-developer_insider (user.role.administrator), group.role.lms_course-guest (user.role.guest), group.role.lms_course-verified_member (user.role.aft_member)

Steps to reproduce

  1. Clone https://github.com/graber-1/drupal_lms_ddev
  2. ddev start
  3. ddev ssh
  4. composer require 'drupal/lms_migrate:1.0.x-dev@dev'
  5. Attempt to enable the module.

Proposed resolution

While moving all files under config/install to config/optional clears the error, that's not really the intention of the module.

The LMS Migrate module presently uses a monolithic approach and assumes it will migrate "in place". That is, it migrates from an Opigno (really, LMS 0.2) site to the present version of LMS. This creates an issue when someone wants to use the module to create a custom site-to-site migration. Some agencies prefer this approach as it is a clean start.

Remaining tasks

  • Determine if it's possible to break up the module into submodules so as to allow for both in-place and site-to-site migrations.
  • Eliminate dependencies on Opigno services and entity classes in migrate source modules, or move them to a submodule.

User interface changes

Depends on approach.

API changes

Depends on approach.

Data model changes

Depends on approach.

πŸ› Bug report
Status

Active

Version

1.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States socketwench

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @socketwench
  • πŸ‡¬πŸ‡§United Kingdom catch

    Determine if it's possible to break up the module into submodules so as to allow for both in-place and site-to-site migrations.

    This sounds like a good idea to me. Keep all the in-place-agnostic migrations in the main module.

    Move the in-place migrations to an lms_migrate_in_place module (or with a better name).

    Add a new lms_migrate_site_to_site module with plugins that don't require any Opigno APIs.

Production build 0.71.5 2024