Hub managers
Plug-in Manager
A plugin is a piece of code that answers an event. The Plug-in Manager cannot install or delete plugins; it enables and disables them, sets their access level, changes the order they run in, and edits their parameters.
Select Extensions → Plug-in Manager, or go to
/administrator/index.php?option=com_plugins.
Three hundred and thirty-two plugins ship with the platform, and a manager touches perhaps five of them in a year. You come here to switch on a way of signing in, to turn off a tab on group pages that your hub does not use, to enable a spam detector after a wave of junk postings, or to work out which plugin is responsible for something appearing on a page. Nothing here needs routine attention.
This chapter covers state, access and order. A plugin's own parameters are covered in Plugins.
What this is not
It is not an installer. There is no New and no Delete, and there never will be on this screen: plugins arrive and leave with the code.
Disabling a plugin is also not a way to hide content. Turning off the plugin that supplies a tab removes the tab, not what is behind it; the records stay in the database and come back the moment the plugin is enabled again. That cuts both ways — it makes disabling safe to try, and it means disabling is not a way to make anything private.
How plugins work
Plugins live in core/plugins/, and a hub's own in
app/plugins/, which takes precedence. Each plugin is a directory two levels
down — plugins/<folder>/<name>/ — containing <name>.php and
<name>.xml. The folder is the plugin's group, and it decides which events
the plugin can answer.
When the platform reaches a point where extensions may contribute, it imports
every enabled plugin in the relevant folder, in ordering order, and calls the
matching method on each. A plugin in the authentication folder is asked to
authenticate; one in content is given content to filter; one in cron is
asked for scheduled jobs.
Several folders work differently: instead of filtering something, the plugin
is a whole section of a page. Every tab on a group, a member profile, a
project, a resource or a publication is a plugin in the groups, members,
projects, resources or publications folder. Disabling one removes that
tab.
The plugin groups
Thirty-seven folders ship with the platform, holding 332 plugins.
| Folder | Plugins | What they do |
|---|---|---|
answers |
2 | Extras on question pages |
antispam |
6 | Spam detectors used when content is posted |
authentication |
13 | Log-in methods, local and third-party |
authfactors |
2 | Second factors for two-factor authentication |
blog |
2 | Blog entry extras |
captcha |
3 | Challenge widgets for forms |
cart |
3 | Store checkout steps |
citation |
4 | Citation formats and importers |
content |
13 | Filters applied to content as it is rendered |
courses |
14 | Course tabs and asset handlers |
cron |
14 | Scheduled jobs offered to the cron manager |
editors |
8 | WYSIWYG and plain editors |
editors-xtd |
4 | Buttons added below an editor |
extension |
1 | Installer support for legacy extension packages |
filesystem |
5 | Storage back ends for project files |
geocode |
15 | Address and coordinate lookup services |
groups |
18 | Tabs and features on group pages |
handlers |
8 | Viewers for published content: video, audio, PDF, LaTeX, notebooks |
hubzero |
5 | Shared services: comments, autocompleter, system templates and tickets |
members |
20 | Tabs and features on member profiles |
metadata |
1 | Metadata attached to content records |
newsletter |
3 | Newsletter composition and sending |
oaipmh |
2 | Records exposed over OAI-PMH |
projects |
11 | Tabs and features on projects |
publications |
17 | Publication tabs and curation steps |
resources |
22 | Resource tabs and features |
search |
26 | Indexers, one per searchable content type |
support |
13 | Ticket handling and support extras |
system |
29 | Code that runs on every request |
tags |
14 | Behaviour attached to tags |
tools |
1 | Tool session viewers |
update |
2 | Housekeeping run after an update |
usage |
7 | Usage statistics collectors |
user |
11 | Reactions to account creation, change and deletion |
whatsnew |
6 | Content types listed on the What's New page |
wiki |
4 | Wiki macros and parsers |
xmessage |
3 | Delivery channels for internal messages |
For the parameters each plugin exposes, see the generated plugin reference.
The list
| Column | Meaning |
|---|---|
| Checkbox | Selects rows for the toolbar. A plugin whose files are missing has no checkbox. |
| Plug-in Name | The plugin's translated name, usually Group - Name, for example Authentication - Facebook. Click it to edit. |
| Status | Enabled or Disabled. Click the icon to toggle. |
| Ordering | The order plugins in the same folder run in. |
| Type | The plugin's folder — its group. |
| Element | The plugin's directory and file name. |
| Access | The access level required. |
| ID | The row's primary key. |
A plugin whose files are gone is shown with a marked row and forced to disabled.
Three filters sit above the list, plus a search box. The search matches the stored name and the element, not the label in the Plug-in Name column; see the tip below.
- - Select Status -: Enabled, Disabled.
- - Select Type -: any folder that has plugins installed.
- - Select Access -: any defined access level.
Toolbar
| Button | Effect |
|---|---|
| Edit | Opens the selected plugin. |
| Enable / Disable | Changes the state of the selected plugins. |
| Check In | Releases plugins left checked out by an interrupted edit. |
| Options | Permissions for com_plugins. There are no other settings. |
| Help | Opens the built-in help screen. |
There is no New and no Delete. Plugins arrive and leave with the code.
Editing a plugin
The edit screen has three editable fields:
| Field | Notes |
|---|---|
| Status | Enabled or Disabled. |
| Access | The access level required for the plugin to run for a given visitor. |
| Ordering | Where the plugin sits among the others in its folder. |
Beside them, read-only, are the plugin's name, ID, Type (its folder) and Element, and its description from the XML manifest. Below, the plugin's own parameters appear in collapsible panels. Many plugins have none.
The toolbar is Save, Save & Close, Close and Help.
Enabling or disabling a plugin
- Go to Extensions → Plug-in Manager.
- Narrow the list with the - Select Type - filter or the search box.
- Tick the plugin, then select Enable or Disable. Clicking the icon in the Status column does the same thing for a single plugin.
Disabling a plugin stops it running everywhere, front end and back end alike. If the plugin supplies a tab, that tab disappears.
The change takes effect on the next request, for everyone, and it is reversible by enabling the plugin again — which makes this one of the safer screens in the book. Two groups are the exception:
authentication. Disabling the wrong one of these locks people out of the hub, and disabling Authentication - HUBzero locks everybody out, including you. See Authentication before you touch the group.system. These run on every request, and several of them are what make ordinary things work rather than adding a feature. Disable one only when you know what it does.
Changing the order plugins run in
Order matters inside a folder. Content plugins transform the same text one after another; authentication plugins are offered a log-in attempt in turn.
- Go to Extensions → Plug-in Manager.
- Filter by - Select Type - so you are looking at one group.
- Select the Ordering column heading to sort by it. The up and down arrows and the order boxes only work while the list is sorted this way.
- Move rows with the arrows, or type numbers into the boxes and select the save icon in the column heading.
Rewritten and checked against 2.4-main @ 35f103b1b3 on 2026-09-10.