# Development

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

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

**Page:** 130

---

## [Steps to follow to create a (Content Aggregator) plugin, that creates topics from different RSS feeds](https://meta.discourse.org/t/steps-to-follow-to-create-a-content-aggregator-plugin-that-creates-topics-from-different-rss-feeds/40578)

<div class="topic-metadata">

**Author:** [@a-magdy](https://meta.discourse.org/u/a-magdy)\
**Replies:** 7\
**Last updated:** [August 31, 2017, 6:53am UTC](https://meta.discourse.org/t/steps-to-follow-to-create-a-content-aggregator-plugin-that-creates-topics-from-different-rss-feeds/40578 "2017-08-31T06:53:50Z")

</div>

Hi, So I found out about discourse a few days ago, and I was able to deploy it to my aws vm in a couple of hours (including getting to know what it is), and it blow me away, awesome work, it contains some features, that…

---

## [Can't send POST request return \["BAD CSRF"\]", status: 403](https://meta.discourse.org/t/cant-send-post-request-return-bad-csrf-status-403/69049)

<div class="topic-metadata">

**Author:** [@Andrey\_Veryovkin](https://meta.discourse.org/u/Andrey_Veryovkin)\
**Replies:** 0\
**Last updated:** [August 30, 2017, 10:50am UTC](https://meta.discourse.org/t/cant-send-post-request-return-bad-csrf-status-403/69049 "2017-08-30T10:50:18Z")

</div>

Make POST request to create new post in topic sendPostMessage(message: Message, user: User): Observable\<Message\> { let headers = new Headers({ 'Content-Type': 'multipart/form-data', 'Access-C…

---

## [Discourse Activity Summaries for New Users Created via API](https://meta.discourse.org/t/discourse-activity-summaries-for-new-users-created-via-api/68433)

<div class="topic-metadata">

**Author:** [@SwisherSweet](https://meta.discourse.org/u/SwisherSweet)\
**Replies:** 11\
**Last updated:** [August 29, 2017, 7:57pm UTC](https://meta.discourse.org/t/discourse-activity-summaries-for-new-users-created-via-api/68433 "2017-08-29T19:57:34Z")

</div>

I have created new users using the API. I would like the new users to receive Activity Summaries regardless if they have ever logged in. Although my users are active, they are not getting these summaries. What can I do…

---

## [Can I create a plugin that checks users and grant access to group based on activity?](https://meta.discourse.org/t/can-i-create-a-plugin-that-checks-users-and-grant-access-to-group-based-on-activity/68875)

<div class="topic-metadata">

**Author:** [@xgdgsc](https://meta.discourse.org/u/xgdgsc)\
**Replies:** 10\
**Last updated:** [August 29, 2017, 7:37pm UTC](https://meta.discourse.org/t/can-i-create-a-plugin-that-checks-users-and-grant-access-to-group-based-on-activity/68875 "2017-08-29T19:37:05Z")

</div>

Sorry if I post in the wrong category. I’ m new to discourse plugin development. I looked through the api doc. I wonder is it possible to run a program periodically to count how many posts a user posted in a category (wh…

---

## [Disable javascript for disabled plugins](https://meta.discourse.org/t/disable-javascript-for-disabled-plugins/68844)

<div class="topic-metadata">

**Author:** [@david](https://meta.discourse.org/u/david)\
**Replies:** 2\
**Last updated:** [August 27, 2017, 10:13am UTC](https://meta.discourse.org/t/disable-javascript-for-disabled-plugins/68844 "2017-08-27T10:13:53Z")

</div>

One of the main issues people seem to have on Meta is broken plugins. There is a natural assumption that ‘disabling’ a plugin in the admin interface will stop any issues caused by it. The reality is that plugin javascrip…

---

## [Redis not able to persist to disk while running import?](https://meta.discourse.org/t/redis-not-able-to-persist-to-disk-while-running-import/68770)

<div class="topic-metadata">

**Author:** [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Replies:** 2\
**Last updated:** [August 25, 2017, 9:24pm UTC](https://meta.discourse.org/t/redis-not-able-to-persist-to-disk-while-running-import/68770 "2017-08-25T21:24:34Z")

</div>

I’m running an importer that I’ve written and get an error complaining about Redis. I’ve never seen this. I’ve not had a chance to look more closely at the message yet for clues there. Any ideas on this? This is on a de…

---

## [Rendering a new template](https://meta.discourse.org/t/rendering-a-new-template/68711)

<div class="topic-metadata">

**Author:** [@Bas](https://meta.discourse.org/u/Bas)\
**Replies:** 1\
**Last updated:** [August 25, 2017, 11:41am UTC](https://meta.discourse.org/t/rendering-a-new-template/68711 "2017-08-25T11:41:07Z")

</div>

I’m a bit confused how to go about rendering a new handlebar template on a separate route and I don’t think the various excellent plugin tutorials cover my question. Let’s say I want to render a simple \<p\>hello {{variab…

---

## [When get the sum of some objects: pluck.sum can be changed to sum()](https://meta.discourse.org/t/when-get-the-sum-of-some-objects-pluck-sum-can-be-changed-to-sum/68327)

<div class="topic-metadata">

**Author:** [@junwen\_yang](https://meta.discourse.org/u/junwen_yang)\
**Replies:** 4\
**Last updated:** [August 24, 2017, 11:56pm UTC](https://meta.discourse.org/t/when-get-the-sum-of-some-objects-pluck-sum-can-be-changed-to-sum/68327 "2017-08-24T23:56:39Z")

</div>

app/models/trust\_level3\_requirements.rb: user.user\_visits.where('visited\_at \> ?', time\_period.days.ago).pluck(:posts\_read).sum app/models/trust\_level3\_requirements.rb: user.user\_visits.pluck(:posts\_read).sum could b…

---

## [How to insert explanatory text in the page groups?](https://meta.discourse.org/t/how-to-insert-explanatory-text-in-the-page-groups/68721)

<div class="topic-metadata">

**Author:** [@Stranik](https://meta.discourse.org/u/Stranik)\
**Replies:** 0\
**Last updated:** [August 24, 2017, 7:00pm UTC](https://meta.discourse.org/t/how-to-insert-explanatory-text-in-the-page-groups/68721 "2017-08-24T19:00:24Z")

</div>

Users do not understand why you need a group. Can be to provide for the insertion of text? What is a simple way to do this without duplicating templates.

---

## [Groups might not be recognised with the MyBB Importer](https://meta.discourse.org/t/groups-might-not-be-recognised-with-the-mybb-importer/68634)

<div class="topic-metadata">

**Author:** [@Azareal](https://meta.discourse.org/u/Azareal)\
**Replies:** 2\
**Last updated:** [August 24, 2017, 6:12am UTC](https://meta.discourse.org/t/groups-might-not-be-recognised-with-the-mybb-importer/68634 "2017-08-24T06:12:36Z")

</div>

A continuation of a discussion in the installation section relating to the MyBB Importer. The importer currently checks the names of the super mod and admin groups literally, but this’ll fail to detect an admin / supe…

---

## [Unable to start sidekiq, load\_missing\_constant](https://meta.discourse.org/t/unable-to-start-sidekiq-load-missing-constant/68673)

<div class="topic-metadata">

**Author:** [@Jen\_Lijo](https://meta.discourse.org/u/Jen_Lijo)\
**Replies:** 1\
**Last updated:** [August 24, 2017, 6:11am UTC](https://meta.discourse.org/t/unable-to-start-sidekiq-load-missing-constant/68673 "2017-08-24T06:11:05Z")

</div>

I am trying to start bundle exec sidekiq and it’s failing. I need help debugging this. The app is up to date and I haven’t seen anyone mentioning this issue. I haven’t updated the gems. I’ve uninstalled the Plugin I was…

---

## [Plugin install statistics](https://meta.discourse.org/t/plugin-install-statistics/68473)

<div class="topic-metadata">

**Author:** [@david](https://meta.discourse.org/u/david)\
**Replies:** 5\
**Last updated:** [August 21, 2017, 8:15pm UTC](https://meta.discourse.org/t/plugin-install-statistics/68473 "2017-08-21T20:15:05Z")

</div>

So this is really cool: I wonder, do @team collect any similar statistics for plugin installations? It would be really cool to know what are the most used plugins for Discourse. Right now the only real measure I can se…

---

## [Install and import Mysql on the development environment](https://meta.discourse.org/t/install-and-import-mysql-on-the-development-environment/68485)

<div class="topic-metadata">

**Author:** [@bekircem](https://meta.discourse.org/u/bekircem)\
**Replies:** 4\
**Last updated:** [August 21, 2017, 8:12pm UTC](https://meta.discourse.org/t/install-and-import-mysql-on-the-development-environment/68485 "2017-08-21T20:12:22Z")

</div>

Hi there! I’ve installed development environment on my Ubuntu 16.04 local machine by following this tutorial. Everything is fine. Discourse is work perfect on localhost:3000. I want to import my Mybb forum database to …

---

## [Chrome 59 headless support](https://meta.discourse.org/t/chrome-59-headless-support/62060)

<div class="topic-metadata">

**Author:** [@riking](https://meta.discourse.org/u/riking)\
**Replies:** 18\
**Last updated:** [August 21, 2017, 2:48pm UTC](https://meta.discourse.org/t/chrome-59-headless-support/62060 "2017-08-21T14:48:36Z")

</div>

It would be possible to start using Headless Chrome for smoke tests instead of PhantomJS. The bare-bones implementation would be to run: % CHROME\_PATH=/opt/google/chrome-beta/google-chrome-beta % $CHROME\_PATH --headl…

---

## [Better config/version.rb handling and loading more variables from it](https://meta.discourse.org/t/better-config-version-rb-handling-and-loading-more-variables-from-it/68252)

<div class="topic-metadata">

**Author:** [@darix](https://meta.discourse.org/u/darix)\
**Replies:** 5\
**Last updated:** [August 18, 2017, 2:58pm UTC](https://meta.discourse.org/t/better-config-version-rb-handling-and-loading-more-variables-from-it/68252 "2017-08-18T14:58:21Z")

</div>

I run my discourse instance from an rpm instead of git. that means may parts of discourse that try to find out the version from git fail in my installation. while investigating this i noticed that there is already code t…

---

## [Serving large amounts of static HTML using discourse?](https://meta.discourse.org/t/serving-large-amounts-of-static-html-using-discourse/68083)

<div class="topic-metadata">

**Author:** [@Bas](https://meta.discourse.org/u/Bas)\
**Replies:** 9\
**Last updated:** [August 17, 2017, 8:02am UTC](https://meta.discourse.org/t/serving-large-amounts-of-static-html-using-discourse/68083 "2017-08-17T08:02:30Z")

</div>

Hi, Currently we have a few thousand pages of documentation in static HTML files. We need a place to store this and render them. Our initial instinct was to use wordpress and use a mass-import; then link discourse and …

---

## [Is it possible to manually trigger a web hook for post\_updated](https://meta.discourse.org/t/is-it-possible-to-manually-trigger-a-web-hook-for-post-updated/68074)

<div class="topic-metadata">

**Author:** [@marcusleemitchell](https://meta.discourse.org/u/marcusleemitchell)\
**Replies:** 2\
**Last updated:** [August 17, 2017, 7:51am UTC](https://meta.discourse.org/t/is-it-possible-to-manually-trigger-a-web-hook-for-post-updated/68074 "2017-08-17T07:51:44Z")

</div>

I’m looking to make a change to the raw data for a bunch of my posts in a rake task and then re-cook the result. When this happens I also want to trigger the webhook for post\_updated What’s the best practice way to ach…

---

## [Best way to store key-value pairs in plugin settings?](https://meta.discourse.org/t/best-way-to-store-key-value-pairs-in-plugin-settings/68059)

<div class="topic-metadata">

**Author:** [@john-lynch](https://meta.discourse.org/u/john-lynch)\
**Replies:** 3\
**Last updated:** [August 17, 2017, 6:39am UTC](https://meta.discourse.org/t/best-way-to-store-key-value-pairs-in-plugin-settings/68059 "2017-08-17T06:39:24Z")

</div>

I’m working on a very simple plugin to perform simple textual replacements in a Discourse post. Specifically, when a user types /keyword in a post, I want to replace that sequence with an arbitrary string (in this case, …

---

## [What's the best way to catch the login event in plugin on client side?](https://meta.discourse.org/t/whats-the-best-way-to-catch-the-login-event-in-plugin-on-client-side/68055)

<div class="topic-metadata">

**Author:** [@a9udn9u](https://meta.discourse.org/u/a9udn9u)\
**Replies:** 1\
**Last updated:** [August 15, 2017, 7:40pm UTC](https://meta.discourse.org/t/whats-the-best-way-to-catch-the-login-event-in-plugin-on-client-side/68055 "2017-08-15T19:40:04Z")

</div>

My Discourse site is set up as the SSO provider for my WordPress site. Since login / logout on Discourse doesn’t automatically sync to WordPress, I’m writing a Discourse plugin to do that. I found a way to catch the logo…

---

## [What's the easiest way to replace the \* .erb file?](https://meta.discourse.org/t/whats-the-easiest-way-to-replace-the-erb-file/68068)

<div class="topic-metadata">

**Author:** [@Stranik](https://meta.discourse.org/u/Stranik)\
**Replies:** 1\
**Last updated:** [August 15, 2017, 11:54am UTC](https://meta.discourse.org/t/whats-the-easiest-way-to-replace-the-erb-file/68068 "2017-08-15T11:54:58Z")

</div>

Hello! for example discourse/app/views/list/list.erb I created this file in the plugin: text/app/views/list/list.erb (And I copied the contents of the original file there) In the file: plugin.rb Need to specify a co…

---

## [How to use API to pull metrics from Discourse into Google Analytics?](https://meta.discourse.org/t/how-to-use-api-to-pull-metrics-from-discourse-into-google-analytics/67406)

<div class="topic-metadata">

**Author:** [@kmcghy](https://meta.discourse.org/u/kmcghy)\
**Replies:** 3\
**Last updated:** [August 14, 2017, 3:32pm UTC](https://meta.discourse.org/t/how-to-use-api-to-pull-metrics-from-discourse-into-google-analytics/67406 "2017-08-14T15:32:32Z")

</div>

Hello all — I am not a developer, so please forgive any ignorance, but I am looking to determine if it’s possible to use the Discourse API or webhooks to pull metrics Discourse is tracking in my community forum into Goog…

---

## [Deep-integration of Discourse within an Ionic App](https://meta.discourse.org/t/deep-integration-of-discourse-within-an-ionic-app/68001)

<div class="topic-metadata">

**Author:** [@ksg](https://meta.discourse.org/u/ksg)\
**Replies:** 0\
**Last updated:** [August 14, 2017, 7:38am UTC](https://meta.discourse.org/t/deep-integration-of-discourse-within-an-ionic-app/68001 "2017-08-14T07:38:03Z")

</div>

Hi, We are starting to integrate the discourse forum within our Ionic app and we thought we could use help from the community here to collect feedback on our plan below: Here’s the workflow we have though of for now: …

---

## [Rails Girls Summer of Code 2017: Backup Providers](https://meta.discourse.org/t/rails-girls-summer-of-code-2017-backup-providers/65597)

<div class="topic-metadata">

**Author:** [@eviltrout](https://meta.discourse.org/u/eviltrout)\
**Replies:** 31\
**Last updated:** [August 11, 2017, 9:23pm UTC](https://meta.discourse.org/t/rails-girls-summer-of-code-2017-backup-providers/65597 "2017-08-11T21:23:43Z")

</div>

We’ve officially kicked off the Rails Girls Summer of Code 2017 with our group, berlin diamonds. They’re going to be working on adding extra backup providers to Discourse. This topic can be used by the teams involved fo…

---

## [Allocate comments](https://meta.discourse.org/t/allocate-comments/67895)

<div class="topic-metadata">

**Author:** [@Stranik](https://meta.discourse.org/u/Stranik)\
**Replies:** 2\
**Last updated:** [August 11, 2017, 8:43pm UTC](https://meta.discourse.org/t/allocate-comments/67895 "2017-08-11T20:43:15Z")

</div>

Hello! There is a small offer. But I think it will be useful to many. Because Saw a lot of topics here. File widgets/post.js.es6 There just add: https://github.com/Toxu-ru/Toxu/blob/master/assets/javascripts/discours…

---

## [New to API, 403 Errors](https://meta.discourse.org/t/new-to-api-403-errors/67841)

<div class="topic-metadata">

**Author:** [@donlucas](https://meta.discourse.org/u/donlucas)\
**Replies:** 12\
**Last updated:** [August 11, 2017, 6:43pm UTC](https://meta.discourse.org/t/new-to-api-403-errors/67841 "2017-08-11T18:43:42Z")

</div>

Trying to add a member to a group and not finding a solution in the meta forums. (using python’s requests module) requests.put('https://my.discourse.com/groups/the\_group/members.json', data='{"username…

---

## [The overall optimization. Plugins](https://meta.discourse.org/t/the-overall-optimization-plugins/67732)

<div class="topic-metadata">

**Author:** [@Stranik](https://meta.discourse.org/u/Stranik)\
**Replies:** 5\
**Last updated:** [August 11, 2017, 2:33am UTC](https://meta.discourse.org/t/the-overall-optimization-plugins/67732 "2017-08-11T02:33:39Z")

</div>

A specific example. There are 2 plug-in. 1. 1/assets/javascripts/discourse/initializers/1.js.es6 import { withPluginApi } from 'discourse/lib/plugin-api'; import RawHtml from 'discourse/widgets/raw-html'; function …

---

## [Remove \`spork-rails\` from Discourse](https://meta.discourse.org/t/remove-spork-rails-from-discourse/67363)

<div class="topic-metadata">

**Author:** [@tgxworld](https://meta.discourse.org/u/tgxworld)\
**Replies:** 5\
**Last updated:** [August 11, 2017, 12:52am UTC](https://meta.discourse.org/t/remove-spork-rails-from-discourse/67363 "2017-08-11T00:52:47Z")

</div>

As part of our efforts to upgrade to Rails 5, we’ll need to deprecate spork-rails which currently locks Rails to \< 5. However, Rails 5 support for the gem is probably never going to land as the last commit made to the ge…

---

## [\[Solved\] In plugin: opening the composer without changing the route](https://meta.discourse.org/t/solved-in-plugin-opening-the-composer-without-changing-the-route/67710)

<div class="topic-metadata">

**Author:** [@jack2](https://meta.discourse.org/u/jack2)\
**Replies:** 4\
**Last updated:** [August 9, 2017, 9:01pm UTC](https://meta.discourse.org/t/solved-in-plugin-opening-the-composer-without-changing-the-route/67710 "2017-08-09T21:01:00Z")

</div>

I would like to open the composer from my plugin. But I cannot use the composing a new pre-filled topic via URL method, because I don’t want to change the route. I’ve tried the method explained here, but it doesn’t seem…

---

## [HttpClient returns OK, but user not created](https://meta.discourse.org/t/httpclient-returns-ok-but-user-not-created/67653)

<div class="topic-metadata">

**Author:** [@SwisherSweet](https://meta.discourse.org/u/SwisherSweet)\
**Replies:** 0\
**Last updated:** [August 8, 2017, 2:18pm UTC](https://meta.discourse.org/t/httpclient-returns-ok-but-user-not-created/67653 "2017-08-08T14:18:57Z")

</div>

Hi, It’s been a while since I’ve worked with the .Net HttpClient and I’m new to the Discourse API. I’m creating a sandbox/playground project to create users in our Discourse instant using the API via .Net. However, whe…

---

## [Can I update (add to) "allowed\_users" of a topic via an API call?](https://meta.discourse.org/t/can-i-update-add-to-allowed-users-of-a-topic-via-an-api-call/67356)

<div class="topic-metadata">

**Author:** [@mtwomey](https://meta.discourse.org/u/mtwomey)\
**Replies:** 4\
**Last updated:** [August 7, 2017, 11:58pm UTC](https://meta.discourse.org/t/can-i-update-add-to-allowed-users-of-a-topic-via-an-api-call/67356 "2017-08-07T23:58:04Z")

</div>

I’d like to be able to add users to “allowed\_users” of a topic. When I retrieve a topic, one section is details.allowed\_users. Is there a way to add additional users here with a PUT?

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

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