# Improving /admin/plugins

**URL:** https://meta.discourse.org/t/improving-admin-plugins/84585
**Category:** Feature
**Created:** [April 4, 2018, 4:23pm UTC](https://meta.discourse.org/t/improving-admin-plugins/84585 "2018-04-04T16:23:27Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [April 4, 2018, 4:23pm UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/1 "2018-04-04T16:23:28Z")

</div>

So I’ve been helping a couple of communities troubleshoot and tidy up their instances. In both cases some of that housekeeping involved removing broken and/or redundant plugins.

It was pretty straightforward for me to do, but that’s only because I’m reasonably in tune with the changes which have occurred over the past 12-18 months, so when I see plugins such as presence I know that it has since been merged into core (although the link from /admin/plugins still refers back to the original empty repo).

Are there any plans to restructure the plugins page as a part of the /admin overhaul? It would be great if plugins which are actually part of core (such as discourse-details, discourse-narrative-bot, discourse-nginx-performance-report, discourse-presence, docker manager, lazyYT and poll) were grouped separately, and if a repo which is known to have been merged into the current version is also still in the config maybe chuck up an alert?

While I couldn’t find a current example, I can’t discount the possibility that there be cases of plugins which still have a repo whilst also being merged into core so as to support older versions of Discourse. How is that handled by Discourse today? How are less engaged admins meant to identify plugins which become core functionality?

---

<div class="post-metadata">

### Author: ![HAWK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hawk/32/86627_2.png) [@HAWK](https://meta.discourse.org/u/HAWK)
#### Post date: [April 4, 2018, 10:56pm UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/2 "2018-04-04T22:56:37Z")

</div>

> [@steve\_pd](#):
>
> Are there any plans to restructure the plugins page as a part of the /admin overhaul?

Not at this point, no.

I support your suggestion though.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [April 5, 2018, 12:44am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/3 "2018-04-05T00:44:05Z")

</div>

It would definitely be good to give official plugins some kind of stamp in the UI here @tgxworld

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [April 6, 2018, 3:48am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/5 "2018-04-06T03:48:59Z")

</div>

![Screenshot%20from%202018-04-06%2011-47-41](https://global.discourse-cdn.com/meta/original/3X/8/3/83ef1f3391ecce705011f28cb576e8e8d03b907e.png)

I added a check beside official plugins in

[https://github.com/discourse/discourse/commit/2ddcdf87044e63bc56681ee00692af98638a1651](https://github.com/discourse/discourse/commit/2ddcdf87044e63bc56681ee00692af98638a1651)

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [April 6, 2018, 3:52am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/6 "2018-04-06T03:52:15Z")

</div>

Based on previous advice from @awesomerobot I think the check should be in its own column, on the left.

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [April 6, 2018, 3:53am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/7 "2018-04-06T03:53:15Z")

</div>

Do we want it to the left of `Name`?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [April 6, 2018, 4:04am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/8 "2018-04-06T04:04:36Z")

</div>

Yes in a small narrow column with no header text.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [April 6, 2018, 4:29am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/9 "2018-04-06T04:29:09Z")

</div>

> [@tgxworld](#):
>
> I added a check beside official plugins in

Looks good, but will we get any visual differentiation between official and core?

My point originally is that when troubleshooting one of the first steps is usually to look at plugins, so having something which denotes core from official from third party would be _incredibly_ helpful. Particularly in the case I gave above where an official plugin made its way into core, but was still referenced in the app.yml of one of the sites I was investigating.

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [April 6, 2018, 4:41am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/10 "2018-04-06T04:41:58Z")

</div>

Right now they look to be more or less ordered alphabetically. My personal taste would be to separate them with a simple horizontal rule. But if ordering alphabetically is easier I think think the icons look good too. The main point is to distinguish the difference, minute details as to how it’s done is for bike-shedding.

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [April 6, 2018, 4:44am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/11 "2018-04-06T04:44:39Z")

</div>

I was thinking of suggesting sections originally, but from there my thoughts meandered towards wondering whether stuff in core should appear in plugins at all. Sections would be great, but if we get to that stage it would also be great to remove stuff that isn’t optional, they really need another home.

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [April 6, 2018, 4:45am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/12 "2018-04-06T04:45:46Z")

</div>

Two rows of icons? Font family differences?

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [April 6, 2018, 4:48am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/13 "2018-04-06T04:48:13Z")

</div>

> [@steve\_pd](#):
>
> stuff in core should appear in plugins at all

Plugins that are part of the core repository are still plugins so it should appear in the list.

> [@steve\_pd](#):
>
> so when I see plugins such as presence I know that it has since been merged into core (although the link from /admin/plugins still refers back to the original empty repo)

Fixed in

[https://github.com/discourse/discourse/commit/802a327ee3fd5338cc92f51ae97ae89ad0bdd596](https://github.com/discourse/discourse/commit/802a327ee3fd5338cc92f51ae97ae89ad0bdd596)

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [April 6, 2018, 4:50am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/14 "2018-04-06T04:50:13Z")

</div>

> [@tgxworld](#):
>
> Fixed in
> 
> ```
> github.com/discourse/discourse
> 
> ```

That’s great, but the site in question had [GitHub - discourse/discourse-presence · GitHub](https://github.com/discourse/discourse-presence.git) in the plugins section of the yml too. When a plugin makes the change from official to core how do sites know? How does Discourse handle it?

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [April 6, 2018, 4:57am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/15 "2018-04-06T04:57:48Z")

</div>

I’m pretty sure `./launcher rebuild` will fail requiring the user to remove `git clone <plugin>` from `app.yml`

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [April 6, 2018, 5:06am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/16 "2018-04-06T05:06:18Z")

</div>

> [@tgxworld](#):
>
> ’m pretty sure ./launcher rebuild will fail requiring the user to remove git clone \<plugin\> from app.yml

What about if they just update via /admin? It’s the kind of predictable change that could be handled more gracefully, alerting the user via /admin that a plugin is moved into core to avoid failed rebuilds and support requests here on meta.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [April 6, 2018, 5:12am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/17 "2018-04-06T05:12:58Z")

</div>

Based on observed data, probably not worth the effort. Rare situation, easily handled with a topic here to refer people to. No need to gold plate it.

---

<div class="post-metadata">

### Author: ![tophee](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tophee/32/73406_2.png) [@tophee](https://meta.discourse.org/u/tophee)
#### Post date: [April 6, 2018, 5:43am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/18 "2018-04-06T05:43:23Z")

</div>

> [@tgxworld](#):
>
> Plugins that are part of the core repository are still plugins so it should appear in the list.

I do agree, though, that it would help to gave those core plugins presented differently (maybe another icon?). After all, they cannot be removed by the user, right? and therefore don’t feel like plugins, even if they technically are plugins.

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [April 6, 2018, 5:50am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/19 "2018-04-06T05:50:23Z")

</div>

What benefits would we get by visually marking core plugins differently?

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [April 6, 2018, 5:58am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/20 "2018-04-06T05:58:32Z")

</div>

For one it lets anyone troubleshooting their instance tell immediately whether they have any plugins installed.

Admins who are less familiar won’t know that the term plugin is being used to describe something other than optional code modules.

Usually to troubleshoot we would disable third party plugins, then official. Right now it’s hard to distinguish between something in core and something referenced from [Discourse · GitHub](http://GitHub.com/discourse) in the yml.

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [April 6, 2018, 6:03am UTC](https://meta.discourse.org/t/improving-admin-plugins/84585/21 "2018-04-06T06:03:58Z")

</div>

> [@steve\_pd](#):
>
> Usually to troubleshoot we would disable third party plugins, then official. Right now it’s hard to distinguish between something in core and something referenced from [Discourse · GitHub](http://GitHub.com/discourse) in the yml.

You won’t need to distinguish that at all since you can just go to `/safe-mode` and choose to disable `unofficial` plugins. If that doesn’t work, you can then disable all plugins.

[Next page](https://meta.discourse.org/t/improving-admin-plugins/84585.md?page=2)
