Skip to content

Commit 2d8f043

Browse files
committed
[docs] Add notes about plugin removal from core
1 parent 17979b6 commit 2d8f043

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
title: Plugin Removal
3+
tags:
4+
- Processes
5+
- Core development
6+
- Deprecation
7+
- Plugins
8+
- Removal
9+
---
10+
11+
We regularly assess the standard plugins that are included in Moodle and will, from time-to-time, remove some of these.
12+
13+
When this happens we will announce to the community that this will be happening.
14+
15+
Typically plugin removal will be announced in the following places:
16+
17+
- The relevant forums on [moodle.org](https://moodle.org)
18+
- Within the Moodle Tracker
19+
- In the [Integration Exposed Posts](https://moodle.org/mod/forum/view.php?id=7966)
20+
- One or more of the Moodle Matrix groups, possibly including:
21+
- [Moodle in English](https://matrix.to/#/#moodle-english:moodle.com)
22+
- [Moodle Developer Chat](https://matrix.to/#/#moodledev:moodle.com)
23+
- [Large scale installations](https://matrix.to/#/#bigmoodle:moodle.com)
24+
25+
:::warning Info
26+
27+
We will endeavour to make announcements as early as possible and to give appropriate time to update workflows, and dependencies, however this cannot be guaranteed in all situations.
28+
29+
:::
30+
31+
## Why plugins are removed from Moodle LMS
32+
33+
A plugin may be considered for removal from Moodle LMS for a range of reasons, including:
34+
35+
- we no longer feel that it is relevant to the community;
36+
- it is no longer possible to maintain for some reason (for example it uses unsupported libraries); and
37+
- it contains integrations which are no longer active.
38+
39+
## What happens when the plugin is removed
40+
41+
In most cases a plugin is removed because it is either no longer possible to support it, or because we do not believe it is widely used.
42+
43+
Typically the following takes places:
44+
45+
- the code for the plugin is extracted from Moodle LMS and placed into its own Git repository, usually under the https://github.com/moodlehq namespace;
46+
- the GitHub repository is marked as archived; and
47+
- the plugin is not placed into the Plugins Database.
48+
49+
## Why is the plugin not placed into the Plugins database?
50+
51+
If the plugin is no longer suited to Moodle LMS, in most cases it is unlikely to be useful in the plugins database either.
52+
53+
Where there are cases where the community feels that it should be moved to the plugins database instead, then we look for volunteers from the community to take over the maintenance of the plugin.
54+
55+
:::warning Plugins without a maintainer
56+
57+
Plugins without a maintainer will not be accepted into the plugins database.
58+
59+
:::
60+
61+
## I want to maintain a removed plugin
62+
63+
If you wish to volunteer to maintain a plugin which has been removed from core, you can [create an MDLSITE issue](https://tracker.moodle.org/secure/CreateIssue.jspa?issuetype=4&pid=10020) on the Moodle Tracker.
64+
65+
You will need to include:
66+
67+
- your Matrix username so that we can contact you;
68+
- your GitHub username; and
69+
- your username on moodle.org.
70+
71+
We will then assess whether the plugin can be transferred to you.
72+
73+
## If you do not have the ability to maintain a plugin
74+
75+
If you feel that an archived plugin should be in the plugins database but you do not have the ability to maintain it yourself then you may:
76+
77+
- look for support amongst the Moodle community; or
78+
- pay a Moodle partner to maintain it for you.
79+
80+
## Useful notes for developers extract plugins
81+
82+
The following approach it typically used to extract a plugin, complete with its entire Git history into the plugins database.
83+
84+
:::danger
85+
86+
This *must* be performed on a clean and dedicated repository. Do *not* run `git filter-branch` or `git filter-repo` on a development repository.
87+
88+
:::
89+
90+
```sh title="Extracting the content"
91+
git clone --no-local https://git.in.moodle.com/moodle/moodle.git moodle-plugin_name
92+
cd moodle-plugin_name
93+
git filter-repo --subdirectory-filter path/to/plugin/name
94+
git remote add origin git@github.com:moodlehq/moodle-plugin_name.git
95+
git push -u origin main
96+
git push origin --tags
97+
```

0 commit comments

Comments
 (0)