This contains the source files for the "Omnipedia - Core" Drupal module, which provides the wiki node framework for Omnipedia.
This contains the framework for managing our simulated wiki pages (Drupal nodes) and their revisions. This includes various services to find and interact with them, and to query and track what simulated revisions they have (one per in-universe day).
Note that this does not contain the framework to manage the simulated date
system itself; that can be found in the omnipedia_date
module.
This module is named omnipedia_core
for historical reasons, as it used to
contain more than the wiki node framework. In the future, this module may be
discontinued in favour of a more accurately named module, e.g.
omnipedia_node
, or omnipedia_wiki_node
, etc.
-
PHP 8.1
Follow the Composer installation instructions for these dependencies first:
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:
"drupal/omnipedia_core": {
"type": "vcs",
"url": "https://github.com/neurocracy/drupal-omnipedia-core.git"
}
Once you've completed all of the above, run composer require "drupal/omnipedia_core:^5.0@dev"
in the root of your project to have
Composer install this and its required dependencies for you.
The following major version bumps indicate breaking changes:
-
4.x:
-
Requires Drupal 9.5 or Drupal 10.
-
Increases minimum version of Hook Event Dispatcher to 3.1, removes deprecated code, and adds support for 4.0 which supports Drupal 10.
-
-
5.x:
-
Now requires PHP 8.1, up from PHP 8.0.
-
Now requires the
omnipedia_access
module.
-
-
6.x:
-
Now requires Drupal core 10.
-
Increases minimum version of Hook Event Dispatcher to 4.0.
-
Removed all classes and interfaces deprecated by the following:
-
Our custom node entity and storage; these caused multiple issues and have been replaced with Typed Entities.
-
Main page services and related code; they're now found in the omnipedia_main_page module.
-
-