# Development

**URL:** https://meta.discourse.org/c/dev/7.md?page=125

[Latest](https://meta.discourse.org/latest.md) · [Categories](https://meta.discourse.org/categories.md) · [Tags](https://meta.discourse.org/tags.md)

**Page:** 126

---

## [How do you learn to build Discourse plugins?](https://meta.discourse.org/t/how-do-you-learn-to-build-discourse-plugins/57946)

<div class="topic-metadata">

**Author:** [@net\_deamon](https://meta.discourse.org/u/net_deamon)\
**Replies:** 13\
**Last updated:** [December 31, 2017, 5:43pm UTC](https://meta.discourse.org/t/how-do-you-learn-to-build-discourse-plugins/57946 "2017-12-31T17:43:23Z")

</div>

How do you guys build such amazing plugins with discourse ? I am not even able to integrate a custom field to discourse topic using a custom plugin. Is there any documentation that can help me build an advanced plugin li…

---

## [Rspec failing to load when using the official beginners guide](https://meta.discourse.org/t/rspec-failing-to-load-when-using-the-official-beginners-guide/76825)

<div class="topic-metadata">

**Author:** [@dmitry\_fedyuk](https://meta.discourse.org/u/dmitry_fedyuk)\
**Replies:** 0\
**Last updated:** [December 27, 2017, 4:30pm UTC](https://meta.discourse.org/t/rspec-failing-to-load-when-using-the-official-beginners-guide/76825 "2017-12-27T16:30:44Z")

</div>

@techAPJ «Beginners Guide to Install Discourse on Ubuntu for Development». I use the latest stock version of Ubuntu Desktop (16.04.3 LTS) which is unmodified, without any extra packages previously installed apart from…

---

## [Jhead and svgo errors while running specs](https://meta.discourse.org/t/jhead-and-svgo-errors-while-running-specs/76799)

<div class="topic-metadata">

**Author:** [@dmitry\_fedyuk](https://meta.discourse.org/u/dmitry_fedyuk)\
**Replies:** 2\
**Last updated:** [December 27, 2017, 1:16pm UTC](https://meta.discourse.org/t/jhead-and-svgo-errors-while-running-specs/76799 "2017-12-27T13:16:36Z")

</div>

@techAPJ «Beginners Guide to Install Discourse on Ubuntu for Development». I use the latest stock version of Ubuntu Desktop (16.04.3 LTS) which is unmodified, without any extra packages previously installed apart from…

---

## [Hgfs shared filesystem in VMWare does not support symlinks](https://meta.discourse.org/t/hgfs-shared-filesystem-in-vmware-does-not-support-symlinks/76797)

<div class="topic-metadata">

**Author:** [@dmitry\_fedyuk](https://meta.discourse.org/u/dmitry_fedyuk)\
**Replies:** 6\
**Last updated:** [December 27, 2017, 6:12am UTC](https://meta.discourse.org/t/hgfs-shared-filesystem-in-vmware-does-not-support-symlinks/76797 "2017-12-27T06:12:31Z")

</div>

bundle exec rake db:migrate db:test:prepare db:seed\_fu fails: ln: failed to create symbolic link 'public/plugins/discourse-narrative-bot': Permission denied lib/discourse.rb:28:in \`execute\_command' lib/plugin/instance.r…

---

## [Update PhantomJS to latest for Ubuntu dev guide?](https://meta.discourse.org/t/update-phantomjs-to-latest-for-ubuntu-dev-guide/76792)

<div class="topic-metadata">

**Author:** [@dmitry\_fedyuk](https://meta.discourse.org/u/dmitry_fedyuk)\
**Replies:** 2\
**Last updated:** [December 27, 2017, 2:31am UTC](https://meta.discourse.org/t/update-phantomjs-to-latest-for-ubuntu-dev-guide/76792 "2017-12-27T02:31:32Z")

</div>

@techAPJ «Beginners Guide to Install Discourse on Ubuntu for Development» says: cd /usr/local/share sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86\_64.tar.bz2 sudo tar xvf phantomjs-…

---

## [Recommended Load Testing Services?](https://meta.discourse.org/t/recommended-load-testing-services/76754)

<div class="topic-metadata">

**Author:** [@8BIT](https://meta.discourse.org/u/8BIT)\
**Replies:** 0\
**Last updated:** [December 26, 2017, 4:15am UTC](https://meta.discourse.org/t/recommended-load-testing-services/76754 "2017-12-26T04:15:01Z")

</div>

Looking for some recommendations to test out my DO high-cpu instance… things like www.loader.io and stuff. Anyone have any recommendations that may be specifically designed to test against DO? Any will do as well.

---

## [Plugin dev pointers needed: re-formatting links as buttons](https://meta.discourse.org/t/plugin-dev-pointers-needed-re-formatting-links-as-buttons/76750)

<div class="topic-metadata">

**Author:** [@sjd333](https://meta.discourse.org/u/sjd333)\
**Replies:** 2\
**Last updated:** [December 26, 2017, 12:14am UTC](https://meta.discourse.org/t/plugin-dev-pointers-needed-re-formatting-links-as-buttons/76750 "2017-12-26T00:14:20Z")

</div>

Hi, I’m looking for some high-level guidance on approach to building a link formatting plugin. The plugin should automatically display links to a particular web resource (matching a given regular expression) as a butto…

---

## [Feedback wanted for Janitor - Discourse development in the cloud](https://meta.discourse.org/t/feedback-wanted-for-janitor-discourse-development-in-the-cloud/76727)

<div class="topic-metadata">

**Author:** [@notriddle](https://meta.discourse.org/u/notriddle)\
**Replies:** 0\
**Last updated:** [December 25, 2017, 8:11am UTC](https://meta.discourse.org/t/feedback-wanted-for-janitor-discourse-development-in-the-cloud/76727 "2017-12-25T08:11:14Z")

</div>

What the explative did I just watch? That’s the Janitor, an on-demand developer environment service for OSS projects. It uses Docker to allow lots of dev envs to be cheaply colocated on powerful bare-metal …

---

## [How to fix bundler executable conflicts in the \`techAPJ/install-rails\` script?](https://meta.discourse.org/t/how-to-fix-bundler-executable-conflicts-in-the-techapj-install-rails-script/76717)

<div class="topic-metadata">

**Author:** [@dmitry\_fedyuk](https://meta.discourse.org/u/dmitry_fedyuk)\
**Replies:** 3\
**Last updated:** [December 25, 2017, 7:08am UTC](https://meta.discourse.org/t/how-to-fix-bundler-executable-conflicts-in-the-techapj-install-rails-script/76717 "2017-12-25T07:08:20Z")

</div>

I run the github.com/techAPJ/install-rails installation script from the «Beginners Guide to Install Discourse on Ubuntu for Development» @techAPJ’s article in the latest stock (unmodified, without any extra packages prev…

---

## [Is VMware Workstation Player enough for Discourse-only development, or the more expensive VMware Workstation Pro provides some real advantages?](https://meta.discourse.org/t/is-vmware-workstation-player-enough-for-discourse-only-development-or-the-more-expensive-vmware-workstation-pro-provides-some-real-advantages/76694)

<div class="topic-metadata">

**Author:** [@dmitry\_fedyuk](https://meta.discourse.org/u/dmitry_fedyuk)\
**Replies:** 1\
**Last updated:** [December 24, 2017, 12:19pm UTC](https://meta.discourse.org/t/is-vmware-workstation-player-enough-for-discourse-only-development-or-the-more-expensive-vmware-workstation-pro-provides-some-real-advantages/76694 "2017-12-24T12:19:24Z")

</div>

VMware Workstation 14 Player: 165,95 € VMware Workstation 14 Pro: 274,95 € The features comparison.

---

## [How to configure \`Vagrantfile\` to run Discourse in VMware Workstation?](https://meta.discourse.org/t/how-to-configure-vagrantfile-to-run-discourse-in-vmware-workstation/76695)

<div class="topic-metadata">

**Author:** [@dmitry\_fedyuk](https://meta.discourse.org/u/dmitry_fedyuk)\
**Replies:** 0\
**Last updated:** [December 24, 2017, 12:08pm UTC](https://meta.discourse.org/t/how-to-configure-vagrantfile-to-run-discourse-in-vmware-workstation/76695 "2017-12-24T12:08:56Z")

</div>

The official Vagrantfile contains a configuration for VirtualBox only. How to change it for VMware Workstation?

---

## [Sidekiq not running on local Discourse, can't upgrade](https://meta.discourse.org/t/sidekiq-not-running-on-local-discourse-cant-upgrade/76545)

<div class="topic-metadata">

**Author:** [@Frank\_Bailey](https://meta.discourse.org/u/Frank_Bailey)\
**Replies:** 7\
**Last updated:** [December 22, 2017, 1:20pm UTC](https://meta.discourse.org/t/sidekiq-not-running-on-local-discourse-cant-upgrade/76545 "2017-12-22T13:20:50Z")

</div>

I need to upgrade my local discourse to the latest version so I can restore a backup made from a live Discourse instance, import users from Ning, and then backup and restore to the live instance. However, as Sidekiq isn’…

---

## [Deleting user images when using the rails console to delete users](https://meta.discourse.org/t/deleting-user-images-when-using-the-rails-console-to-delete-users/76497)

<div class="topic-metadata">

**Author:** [@Frank\_Bailey](https://meta.discourse.org/u/Frank_Bailey)\
**Replies:** 8\
**Last updated:** [December 20, 2017, 5:45pm UTC](https://meta.discourse.org/t/deleting-user-images-when-using-the-rails-console-to-delete-users/76497 "2017-12-20T17:45:49Z")

</div>

I added over 17000 users to my client’s Discourse installation via the API. I have to delete them now because reasons. I’ve worked out how to delete the users themselves via the Rails app as explained here: Bulk delete …

---

## [Custom menu with an AJAX call](https://meta.discourse.org/t/custom-menu-with-an-ajax-call/76267)

<div class="topic-metadata">

**Author:** [@Happy](https://meta.discourse.org/u/Happy)\
**Replies:** 4\
**Last updated:** [December 20, 2017, 8:14am UTC](https://meta.discourse.org/t/custom-menu-with-an-ajax-call/76267 "2017-12-20T08:14:16Z")

</div>

Hello, I set up a forum and I would like to have the same menu as the site on the forum. So for that, I have a route that returns the menu. I see two solutions: make an ajax call and append the result in the dom or cre…

---

## [Minor CSS Change Proposal](https://meta.discourse.org/t/minor-css-change-proposal/76435)

<div class="topic-metadata">

**Author:** [@Patrick\_David](https://meta.discourse.org/u/Patrick_David)\
**Replies:** 9\
**Last updated:** [December 20, 2017, 1:37am UTC](https://meta.discourse.org/t/minor-css-change-proposal/76435 "2017-12-20T01:37:10Z")

</div>

Hi all! Happy Holidays! I’ve got users on my instance (discuss.pixls.us) that have what I think is a reasonable request: the spacing between list elements could be increased a bit. At the moment, list items don’t have…

---

## [No way to get period stats?](https://meta.discourse.org/t/no-way-to-get-period-stats/76312)

<div class="topic-metadata">

**Author:** [@mast3rd3mon](https://meta.discourse.org/u/mast3rd3mon)\
**Replies:** 6\
**Last updated:** [December 19, 2017, 11:19am UTC](https://meta.discourse.org/t/no-way-to-get-period-stats/76312 "2017-12-19T11:19:11Z")

</div>

So I’ve developed a bot for a slack channel and I connected it to our discourse api mainly for posting posts. In our discourse we do a leaderboard type thing based on likes received per x amount of time. Using https://d…

---

## [Help installing Discourse for Developer](https://meta.discourse.org/t/help-installing-discourse-for-developer/75914)

<div class="topic-metadata">

**Author:** [@EdgarC](https://meta.discourse.org/u/EdgarC)\
**Replies:** 19\
**Last updated:** [December 18, 2017, 7:45pm UTC](https://meta.discourse.org/t/help-installing-discourse-for-developer/75914 "2017-12-18T19:45:30Z")

</div>

Hello, I was Installing the Discourse Dependencies and packages to my system, but I didn’t know that this will require about 7gigs of my hdd. I’m not sure if the installation is successful because in the process I was g…

---

## [Is there any support for user-made bots?](https://meta.discourse.org/t/is-there-any-support-for-user-made-bots/76224)

<div class="topic-metadata">

**Author:** [@orangeandblack5](https://meta.discourse.org/u/orangeandblack5)\
**Replies:** 9\
**Last updated:** [December 18, 2017, 11:49am UTC](https://meta.discourse.org/t/is-there-any-support-for-user-made-bots/76224 "2017-12-18T11:49:37Z")

</div>

I did some searching but was only able to find a Hubot adapter - is there any way to create a bot that could be used to accomplish relatively complex tasks such as running a forum game? I’ve seen some forums running on o…

---

## [What method is used by Discourse to identify urls in post body](https://meta.discourse.org/t/what-method-is-used-by-discourse-to-identify-urls-in-post-body/75876)

<div class="topic-metadata">

**Author:** [@Sudaraka](https://meta.discourse.org/u/Sudaraka)\
**Replies:** 6\
**Last updated:** [December 12, 2017, 5:22pm UTC](https://meta.discourse.org/t/what-method-is-used-by-discourse-to-identify-urls-in-post-body/75876 "2017-12-12T17:22:27Z")

</div>

What method is used by Discourse to identify urls in post body and make it clickable?. I tried going through the codebase. But still no luck.

---

## [My fork of Discourse is out of date](https://meta.discourse.org/t/my-fork-of-discourse-is-out-of-date/75840)

<div class="topic-metadata">

**Author:** [@leog](https://meta.discourse.org/u/leog)\
**Replies:** 4\
**Last updated:** [December 11, 2017, 9:58pm UTC](https://meta.discourse.org/t/my-fork-of-discourse-is-out-of-date/75840 "2017-12-11T21:58:21Z")

</div>

Hello. After upgrading to v1.9.0.beta15+135 we are having a problem with the registration of new users. In the logs I could find these two logs while I was trying to register a new user through OAuth2 with the following…

---

## [Issues with default emoji on local dev install](https://meta.discourse.org/t/issues-with-default-emoji-on-local-dev-install/75772)

<div class="topic-metadata">

**Author:** [@sau226](https://meta.discourse.org/u/sau226)\
**Replies:** 2\
**Last updated:** [December 11, 2017, 6:05am UTC](https://meta.discourse.org/t/issues-with-default-emoji-on-local-dev-install/75772 "2017-12-11T06:05:16Z")

</div>

I am experiencing an issue with discobot’s automated welcome messages on my own dev sandbox. The issue appears to be that certain emoji are missing from the initial message sent by discobot. I have included an image belo…

---

## [How to get uploaded image url using the Discourse API?](https://meta.discourse.org/t/how-to-get-uploaded-image-url-using-the-discourse-api/37800)

<div class="topic-metadata">

**Author:** [@sleep](https://meta.discourse.org/u/sleep)\
**Replies:** 28\
**Last updated:** [December 7, 2017, 7:45pm UTC](https://meta.discourse.org/t/how-to-get-uploaded-image-url-using-the-discourse-api/37800 "2017-12-07T19:45:53Z")

</div>

If I use this api: curl -X POST -F username="john" -F type="image" -F file="@image.png" -F synchronous="true" "http://localhost:3000/uploads?api\_key=SOMETHING&api\_username=SOMEONE" I just can get a response with “{"suc…

---

## [Which part of the code executes when we click a link on a post?](https://meta.discourse.org/t/which-part-of-the-code-executes-when-we-click-a-link-on-a-post/75350)

<div class="topic-metadata">

**Author:** [@Sudaraka](https://meta.discourse.org/u/Sudaraka)\
**Replies:** 2\
**Last updated:** [December 7, 2017, 5:00am UTC](https://meta.discourse.org/t/which-part-of-the-code-executes-when-we-click-a-link-on-a-post/75350 "2017-12-07T05:00:44Z")

</div>

I need to know which part of the discourse source code is ignited when we click an external link in a discourse post. I had no luck going through previous threads

---

## [Site monitoring service/software](https://meta.discourse.org/t/site-monitoring-service-software/75544)

<div class="topic-metadata">

**Author:** [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Replies:** 2\
**Last updated:** [December 6, 2017, 10:10pm UTC](https://meta.discourse.org/t/site-monitoring-service-software/75544 "2017-12-06T22:10:02Z")

</div>

This isn’t really a Discourse issue, but I’ve decided that it’s time that I have something more formal in place to know when a site is down than to happen to notice or get an email from someone. I’ve seen pingdom and up…

---

## [Backup has failed. pg\_dump: server version: 9.6.3; pg\_dump version: 9.5.10](https://meta.discourse.org/t/backup-has-failed-pg-dump-server-version-9-6-3-pg-dump-version-9-5-10/75235)

<div class="topic-metadata">

**Author:** [@michaeltcoelho](https://meta.discourse.org/u/michaeltcoelho)\
**Replies:** 7\
**Last updated:** [December 2, 2017, 4:54pm UTC](https://meta.discourse.org/t/backup-has-failed-pg-dump-server-version-9-6-3-pg-dump-version-9-5-10/75235 "2017-12-02T16:54:42Z")

</div>

Hi folks! I’m getting notified by discourse’s system user about that my backup has failed. On the doc it says that Discourse accepts Postgres 9.3+ versions and i’m using 9.6.3. \[2017-12-02 03:32:09\] \[STARTED\] \[2017-12-…

---

## [The use of categories, tags as the home page](https://meta.discourse.org/t/the-use-of-categories-tags-as-the-home-page/75230)

<div class="topic-metadata">

**Author:** [@Stranik](https://meta.discourse.org/u/Stranik)\
**Replies:** 0\
**Last updated:** [December 2, 2017, 10:24am UTC](https://meta.discourse.org/t/the-use-of-categories-tags-as-the-home-page/75230 "2017-12-02T10:24:07Z")

</div>

I saw the following subject: Just how bad is it to have 750 categories Looked code. Is it enough to make changes to the following items? app/models/user\_option.rb def homepage case homepage\_id when 1 then "l…

---

## [Which branch of Discourse is used internally?](https://meta.discourse.org/t/which-branch-of-discourse-is-used-internally/75181)

<div class="topic-metadata">

**Author:** [@david](https://meta.discourse.org/u/david)\
**Replies:** 15\
**Last updated:** [December 2, 2017, 5:18am UTC](https://meta.discourse.org/t/which-branch-of-discourse-is-used-internally/75181 "2017-12-02T05:18:49Z")

</div>

This question is somewhat following on from the new “Weekly Summaries” (which I think are a great idea!): Weekly Discourse Summary? - #37 by jomaxro. These summaries are going to be about the beta releases, while the def…

---

## [New users via API if allow new unchecked](https://meta.discourse.org/t/new-users-via-api-if-allow-new-unchecked/75103)

<div class="topic-metadata">

**Author:** [@Martyr2](https://meta.discourse.org/u/Martyr2)\
**Replies:** 6\
**Last updated:** [December 1, 2017, 6:36pm UTC](https://meta.discourse.org/t/new-users-via-api-if-allow-new-unchecked/75103 "2017-12-01T18:36:40Z")

</div>

Hello, I was attempting to setup a new user via the API when I received an error back saying that our hosted version of discourse does “not allow new users at this time”. I discovered that the “allow new registrations” c…

---

## [Font in editor no longer monospaced?](https://meta.discourse.org/t/font-in-editor-no-longer-monospaced/75087)

<div class="topic-metadata">

**Author:** [@darix](https://meta.discourse.org/u/darix)\
**Replies:** 12\
**Last updated:** [December 1, 2017, 12:04am UTC](https://meta.discourse.org/t/font-in-editor-no-longer-monospaced/75087 "2017-12-01T00:04:04Z")

</div>

Is this intentional? Running discourse-1.9.0.beta14~git446.610d7a9412

---

## [Development: undefined method 'trust\_level\_locked' did you mean trust\_level?](https://meta.discourse.org/t/development-undefined-method-trust-level-locked-did-you-mean-trust-level/75118)

<div class="topic-metadata">

**Author:** [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Replies:** 0\
**Last updated:** [November 30, 2017, 8:19pm UTC](https://meta.discourse.org/t/development-undefined-method-trust-level-locked-did-you-mean-trust-level/75118 "2017-11-30T20:19:21Z")

</div>

On my dev instance I just did an import and now when I access a topic I’m getting this error. undefined method \`trust\_level\_locked' for #\<User:0x0055d8685b81c8\> Did you mean? trust\_level sometimes just in the logs and…

[Previous page](https://meta.discourse.org/c/dev/7.md?page=124)

[Next page](https://meta.discourse.org/c/dev/7.md?page=126)
