This contains the source files for the "Omnipedia - Menu" Drupal module, which provides menu items and menu-related functionality for Omnipedia.
Please note that all development and issue tracking is done on GitLab.
This contains most of Omnipedia's menu and menu item-related code.
Of particular note is the custom menu link entity, its associated plug-in and deriver, forms, a constraint validator, access control handler, and route controller; this custom menu link is very similar to the one offered by Drupal core with one crucial difference: instead of pointing to a discrete route or path, it points to a wiki node title which allows it to vary by the simulated wiki date.
Additionally, this module contains the route controller for the random page menu item.
Before attempting to install this, you must add the Composer repositories as described in the installation instructions for these dependencies:
- The
omnipedia_core,omnipedia_date, andomnipedia_main_pagemodules.
Ensure that you have your Drupal installation set up with the correct Composer
installer types such as those provided by the drupal/recommended-project
template.
If you're starting from scratch, simply requiring that template and following
the Drupal.org Composer
documentation
should get you up and running.
In your root composer.json, add the following to the "repositories" section:
{
"type": "vcs",
"url": "https://gitlab.com/neurocracy/omnipedia/modules/omnipedia-menu.git",
"only": ["drupal/omnipedia_menu"]
}This module provides one or more patches. These can be applied automatically by the the cweagans/composer-patches Composer plug-in. If you're not already using it in your project, you need to install it:
composer require 'cweagans/composer-patches:^1.7 || ^2.0'If you're using the 1.x version of the plug-in, you'll also need to run:
composer config extra.enable-patching true
composer config --json --merge extra.patchLevel '{"drupal/core": "-p2"}'Note that you should remove these once you upgrade to cweagans/composer-patches:^2.0 as 2.0 no longer uses that configuration.
Once you've completed all of the above, run composer require "drupal/omnipedia_menu:^4.0@dev" in the root of your project to have
Composer install this and its required dependencies for you.
This module provides a Drupal core
patch;
this can be automatically applied if you have cweagans/composer-patches
installed and
configured to allow patching from dependencies.
The following patches are supplied (see Patching above):
The following major version bumps indicate breaking changes:
-
4.x:
-
Requires Drupal 9.5 or Drupal 10 with compatibility and deprecation fixes for the latter.
-
Increases minimum version of Hook Event Dispatcher to 3.1, removes deprecated code, and adds support for 4.0 which supports Drupal 10.
-