PHPackages                             dof-dss/nidirect-migrations - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. dof-dss/nidirect-migrations

ActiveDrupal-module[Database &amp; ORM](/categories/database)

dof-dss/nidirect-migrations
===========================

Drupal Migrate API modules for NI Direct

1.0.0(4y ago)03.9k1[1 PRs](https://github.com/dof-dss/nidirect-d8-mig-mods/pulls)MITPHP

Since May 14Pushed 4y ago5 watchersCompare

[ Source](https://github.com/dof-dss/nidirect-d8-mig-mods)[ Packagist](https://packagist.org/packages/dof-dss/nidirect-migrations)[ RSS](/packages/dof-dss-nidirect-migrations/feed)WikiDiscussions development Synced yesterday

READMEChangelog (8)Dependencies (1)Versions (102)Used By (0)

[![CircleCI](https://camo.githubusercontent.com/5c32f68e4b25b054953ddd3956df1d47fbc511cd334ed53ce0d5f03c1266f001/68747470733a2f2f636972636c6563692e636f6d2f67682f646f662d6473732f6e696469726563742d64382d6d69672d6d6f64732e7376673f7374796c653d737667)](https://circleci.com/gh/dof-dss/nidirect-d8-mig-mods)

***IF YOU UPDATE A MIGRATION CONFIGURATION PLEASE ENSURE YOU EXPORT THE CONFIG TO THE DRUPAL/CONFIG/SYNC DIRECTORY AND COMMIT IT***

Migrations
==========

[](#migrations)

Running migrations
------------------

[](#running-migrations)

1. If you need to remove existing content on the site, use the command `lando drush mig-purge`
2. Ensure the Drupal migrate modules (`migrate, migrate_plus, migrate_tools`) are enabled.
3. perform a *'git pull'* to ensure you have the latest commits.
4. Enable the required NIDirect migration modules.
5. Import the NIDirect Drupal 7 database into the Lando `drupal7db` database.
6. Add the NIDirect Drupal 7 files to `/imports/files/sites/default/files/`
7. Ensure 'Migrate NIDirect Utils' is enabled and run `lando drush mig-prep` to preform site-uuid sync and pre-migration tasks on the D7 database.
8. Import the site configuration using 'drush cim'.
9. Use `lando mist` to display the migration status
10. Use `lando miip --group=` or `lando miip `

Migration order
---------------

[](#migration-order)

Items in italics typically will not be run on production.

Run `lando miip --group=` with the following:

- migrate\_drupal\_7\_user
- migrate\_drupal\_7\_file
- migrate\_drupal\_7\_taxo
- migrate\_nidirect\_node\_driving\_instructor
- migrate\_nidirect\_entity\_gp
- migrate\_nidirect\_node\_application
- migrate\_nidirect\_node\_article
- migrate\_nidirect\_node\_external\_link
- migrate\_nidirect\_node\_gp\_practice
- migrate\_nidirect\_node\_health\_condition
- *migrate\_nidirect\_node\_landing\_page*
- migrate\_nidirect\_node\_news
- *migrate\_nidirect\_node\_contact*
- *migrate\_nidirect\_node\_nidirect\_contact*
- migrate\_nidirect\_node\_page
- migrate\_nidirect\_node\_publication
- migrate\_drupal\_7\_link

then run the following individual migrations:

- node\_contact
- miip nidirect\_book

Running tests
-------------

[](#running-tests)

Automated testing is broken into different categories: static analysis, unit and functional tests.

### Static analysis

[](#static-analysis)

The project uses PHPCS to validate all custom code against [Drupal.org coding standards](https://www.drupal.org/docs/develop/standards/coding-standards); including migrate modules and custom themes.

For convenience, it can be invoked for local development using Lando: `lando phpcs`

### Unit tests

[](#unit-tests)

Any custom code that implements unit tests will be checked when using PHPUnit.

For local work, invoke it with `lando phpunit`. This acts as a local tool wrapper for the `drupal8/phpcs.sh` script in order to simplify usage.

### Functional tests

[](#functional-tests)

Migrations and key user activities and journeys are tested using a headless Chromedriver browser running in a local container. Drupal Core has adopted nightwatch.js as their functional testing tool. We use the same configuration file as Drupal Core, and can run any nightwatch.js tests (core, contrib or custom) by specifying a test suite tags parameter, eg:

`lando nightwatch --skiptags core`: run all tests except those tagged with `core`. `lando nightwatch --tag nidirect-migrate`: run all tests tagged with `nidirect-migrate`. `lando nightwatch /path/to/your/test/file.js`: run a specific set of tests in a single file.

Environmental variables
-----------------------

[](#environmental-variables)

Some tests use [environmental variables](https://en.wikipedia.org/wiki/Environment_variable)to prevent setting potentially sensitive values directly into test code. How these are set will vary from one environment to another, but in the case of local development using Lando you will find them under:

`/config/drupal.env`

If you need to change this file, you will also need to rebuild your local appserver service: `lando rebuild -s appserver`

NightWatchJS tests
------------------

[](#nightwatchjs-tests)

Import the included 'D7\_Migrate\_View' View into existing Drupal 7 NI Direct site and update the TEST\_D7\_URL env var to the URL of the site. This view contains XML data export displays for most of the migrated entities with paths specified as /migrate/ (see 'before' hook in each test for full path). Each display will return a random entity but this can be overridden in the test to return a specific node by appending an ID to the end of the URL e.g. /migrate/recipe/5012

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 53.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Recently: every ~6 days

Total

40

Last Release

1778d ago

Major Versions

0.15.1 → 1.0.02021-06-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/a67438e27fd8061ae770b700d15597ae997d6b0b444cbdb18f463edde8b18e23?d=identicon)[nics-digital-dev](/maintainers/nics-digital-dev)

---

Top Contributors

[![omahm](https://avatars.githubusercontent.com/u/1013025?v=4)](https://github.com/omahm "omahm (395 commits)")[![DuttonMa](https://avatars.githubusercontent.com/u/348030?v=4)](https://github.com/DuttonMa "DuttonMa (242 commits)")[![johangant](https://avatars.githubusercontent.com/u/451261?v=4)](https://github.com/johangant "johangant (101 commits)")

---

Tags

drupalnidirect

### Embed Badge

![Health badge](/badges/dof-dss-nidirect-migrations/health.svg)

```
[![Health](https://phpackages.com/badges/dof-dss-nidirect-migrations/health.svg)](https://phpackages.com/packages/dof-dss-nidirect-migrations)
```

###  Alternatives

[aaemnnosttv/wp-sqlite-db

SQLite drop-in database driver for WordPress

58563.4k5](/packages/aaemnnosttv-wp-sqlite-db)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
