Quantcast
Channel: Discourse Meta - Latest topics
Viewing all 60642 articles
Browse latest View live

Add EXIF data of the uploaded photo

$
0
0

@AlexTemina wrote:

Hey!
Is it possible to add the exif data of a picture after it, when uploading it, automatically after the picture?

If not, I think it would a great feature.
You think this can be done with a plugin? I could learn...

Posts: 4

Participants: 3

Read full topic


Supporting iframe embeds from different domains?

How can I buy Discourse goodies?

Could Onebox Support URL Retrieval via Proxy

$
0
0

@Steven_Arnott wrote:

Our discourse installation is tightly locked down so it's not possible for the OneBox to reach out from the server to an external website to provide a preview.

There is a proxy server that it go via. How can OneBox be told to retrieve the URL via a proxy host?

Posts: 3

Participants: 3

Read full topic

Like count in summary does not update live

$
0
0

@fefrei wrote:

If you look at this post summary...

...and like the post, the number of likes only updates when you reload the page.

Posts: 1

Participants: 1

Read full topic

I can't create user fields

$
0
0

@Robinson_Rodriguez wrote:

I'm trying to create user fields for user's sign up. But I'm getting the next in the production logs

Started POST "/admin/customize/user_fields" for 186.81.228.178 at 2015-07-09 19:45:22 +0000
Processing by Admin::UserFieldsController#create as */*
  Parameters: {"user_field"=>{"name"=>"Nombre", "description"=>"", "field_type"=>"text", "required"=>"true"}}
Completed 422 Unprocessable Entity in 34ms (Views: 0.4ms | ActiveRecord: 8.2ms)

Posts: 3

Participants: 2

Read full topic

When liking a post, expanded likes vanishes

$
0
0

@sam wrote:

Repro:

  • Expand likes on a post
  • Like the post
  • Panel with likers disappears

Expected:

User is appended to post.


More severe side effect, if anyone likes a post while you have likes expanded, the expansion will vanish making you think UI is broke.


What needs fixing?

We already subscribe to the "acted" message so we know when post actions happen. postStream only has the very coarse "triggerChangedPost" which does a huge amount of reconciliation.

So we either need:

  • To expand triggerChangedPost to reconcile expanded likes. This is messy cause 1 message from message bus, 1 XHR to get post, 1 extra XHR to get users.

or

  • Introduce a triggerActedPost to reconcile post actions, 1 XHR to get actions, 1 XHR to get users

or

  • Introduce a payload to the message sent and split out acted / removed_act messages, that way you can render the user right away when you get the message and don't need an extra XHR (very tricky due to security, probably not doable)

Since @eviltrout is planning on working on this (probably next week, leaving it to him)

Posts: 3

Participants: 2

Read full topic

Show more category details when selected

$
0
0

@fefrei wrote:

In our forum, there is a public category for organizational questions, and an internal one:

Of course, choosing the right one is crucial. Unfortunately, after making you choice, there is no visible difference. This is how both cases look like:

I'd like to see at least a lock icon there, probably also the supercategory, as in the popup.

I think that this use case is quite common.

Posts: 1

Participants: 1

Read full topic


Clicking the like button after the undo-like-window closed confuses the UI

$
0
0

@fefrei wrote:

Here's a post I liked:

Note that the heart no longer looks like a button, the cursor is a normal pointer, and there is no highlight.

If you still click on it, this state is reset:


You still cannot click the button, but it appears clickable.

Posts: 1

Participants: 1

Read full topic

User.avatar_update got 500 error when avatar is sending throw discourse_api

$
0
0

@Sergey_Reshetnikov wrote:

Hi Team,

I have problem with sending user avatars which I sending using by discourse_api. I am using recent code of discourse_api on july 10th 2015. But when I trying use client:

update_avatar(username: 'user_name', file: '/system/avatars/777/med/MK_Contact_Pic_%28Glacier_1%29.jpg?1408259528')

The server returns 500 error:

/var/www/discourse/app/controllers/uploads_controller.rb:57:in create_upload'
/var/www/discourse/app/controllers/uploads_controller.rb:16:in
create'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal/implicit_render.rb:4:in send_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/abstract_controller/base.rb:189:in
process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal/rendering.rb:10:in process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/abstract_controller/callbacks.rb:20:in
block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/callbacks.rb:113:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/callbacks.rb:113:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/callbacks.rb:552:in block (2 levels) in compile'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/callbacks.rb:502:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/callbacks.rb:502:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/callbacks.rb:86:in
run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/abstract_controller/callbacks.rb:19:in process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal/rescue.rb:29:in
process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal/instrumentation.rb:32:in block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/notifications.rb:159:in
block in instrument'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/notifications/instrumenter.rb:20:in instrument'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/notifications.rb:159:in
instrument'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal/instrumentation.rb:30:in process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal/params_wrapper.rb:250:in
process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.10/lib/active_record/railties/controller_runtime.rb:18:in process_action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/abstract_controller/base.rb:136:in
process'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.10/lib/action_view/rendering.rb:30:in process'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-mini-profiler-0.9.6/lib/mini_profiler/profiling_methods.rb:77:in
block in profile_method'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal.rb:196:in dispatch'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal/rack_delegation.rb:13:in
dispatch'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_controller/metal.rb:232:in block in action'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/routing/route_set.rb:82:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/routing/route_set.rb:82:in dispatch'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/routing/route_set.rb:50:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/journey/router.rb:73:in block in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/journey/router.rb:59:in
each'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/journey/router.rb:59:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/routing/route_set.rb:692:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in
call!'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in
call!'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in
call!'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in
call!'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:186:in
call!'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/strategy.rb:164:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.2/lib/omniauth/builder.rb:59:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/conditionalget.rb:35:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/head.rb:11:in
call'
/var/www/discourse/lib/middleware/anonymous_cache.rb:124:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/params_parser.rb:27:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/flash.rb:254:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/message_bus-1.0.13/lib/message_bus/rack/middleware.rb:60:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/session/abstract/id.rb:225:in context'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/session/abstract/id.rb:220:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/cookies.rb:562:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.10/lib/active_record/query_cache.rb:36:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.10/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/callbacks.rb:29:in
block in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.10/lib/active_support/callbacks.rb:82:in run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/callbacks.rb:27:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/remote_ip.rb:76:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/debug_exceptions.rb:17:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/show_exceptions.rb:30:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/logster-0.8.3/lib/logster/middleware/reporter.rb:31:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/railties-4.1.10/lib/rails/rack/logger.rb:38:in call_app'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/railties-4.1.10/lib/rails/rack/logger.rb:22:in
call'
/var/www/discourse/config/initializers/quiet_logger.rb:10:in call_with_quiet_assets'
/var/www/discourse/config/initializers/silence_logger.rb:26:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.10/lib/action_dispatch/middleware/request_id.rb:21:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/methodoverride.rb:21:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/runtime.rb:17:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/sendfile.rb:112:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-mini-profiler-0.9.6/lib/mini_profiler/profiler.rb:170:in call'
/var/www/discourse/lib/middleware/request_tracker.rb:73:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/railties-4.1.10/lib/rails/engine.rb:514:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/railties-4.1.10/lib/rails/application.rb:144:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/railties-4.1.10/lib/rails/railtie.rb:194:in public_send'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/railties-4.1.10/lib/rails/railtie.rb:194:in
method_missing'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/builder.rb:138:in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/urlmap.rb:65:in
block in call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in each'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/rack-1.5.5/lib/rack/urlmap.rb:50:in
call'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:576:in process_client'
/var/www/discourse/lib/scheduler/defer.rb:85:in
process_client'
/var/www/discourse/lib/middleware/unicorn_oobgc.rb:95:in process_client'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:670:in
worker_loop'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:525:in spawn_missing_workers'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:140:in
start'
/var/www/discourse/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/bin/unicorn:126:in <top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in
load'
/var/www/discourse/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `'

version of Discourse is v1.4.0.beta4 +62

Posts: 1

Participants: 1

Read full topic

Are icon fonts like Font Awesome necessary?

$
0
0

@downey wrote:

In the following presentation “Death to Icon Fonts” from the London Web Standards conference, Seren Davies makes the case for using SVGs instead of icon fonts (like Font Awesome). The presentation highlights several serious accessibility problems caused by icon fonts, like incompatibility with special fonts used by many people with dyslexia (a condition which affects 10% of the population).

Is Discourse doing a disservice to 10% of its potential users by using an icon font so widely throughout the site? This presentation suggests it is. What do you think?

Posts: 14

Participants: 9

Read full topic

404 error requesting endpoint `/notifications/reset-new` on 1.4.0.beta4

$
0
0

@accalia wrote:

It seems that the endpoint /notifications/reset-new has been removed or renamed in Discourse 1.4.0.beta4

This functionality was previously used to reset unread counters for notifications.

Has this feature been removed from discourse? Has it been renamed? If the endpoint has been moved what is the new endpoint and is there any documentation or mailing list or similar i can subscribe to/read that will tell me when this sort of API level change occurs?

Posts: 2

Participants: 1

Read full topic

Time to First Response (definition please)

$
0
0

@BCHK wrote:

Just updated to current version of sw.

What exactly does "Time to First Response" mean, how is it calculated, and what is the discourse team thinking is the value of this metric?

Thanks,

Posts: 11

Participants: 8

Read full topic

How to see that a Topic has earned a badge

$
0
0

@pfaffman wrote:

I am using Discourse to run online courses (https://literatecomputing.com/ ). It's working pretty well, but what I want to do now is to use badges to start to automate how people's Topics and posts get turned into grades.

I have created an "exemplary solution" badge that is turned on when I use a keyword in a reply to a topic that meets the requirements for the challenge.

    WITH replies AS (
    SELECT user_id, id, topic_id, post_number, reply_to_post_number
    FROM posts
    WHERE raw LIKE '%Looks good!%' AND
    reply_to_post_number IS NOT NULL AND
    user_id IN  (
        SELECT gu.user_id
        FROM group_users gu
        WHERE group_id IN(
            SELECT g.id
            FROM groups g
            WHERE g.name IN ('QuestMasters')
        )
    )
)
SELECT p.user_id, p.id post_id, p.created_at granted_at, r.id
FROM posts p, replies r
WHERE r.reply_to_post_number = p.post_number AND
r.topic_id = p.topic_id and
(:backfill OR r.id IN (:post_ids) )

(I would also like code to similarly mark a post when a member of a group "likes" the post, but that's for another topic.)

This code works and I can see the post in the list of badges, but when looking at the post there is no way to see that the badge is connected to it.

See for example:

nice topic from meta that links to this post. You can see that there's a "nice topic", but when you see the topic itself, there's no indication. Is there some way to see that?

Posts: 1

Participants: 1

Read full topic

How to clear "spam" from user

$
0
0

@BCHK wrote:

A user posted a bunch of junk posts in my forum, which was caught by the system. How do I clear it without having to go through each of the 40+ posts individually?

Posts: 4

Participants: 2

Read full topic


Creating category where staff can see all post but users can only see there own

$
0
0

@Chris1 wrote:

Currently I'm using VBulletin but it is so outdated and time for a change. I'm trying to create a subcategory that will allow users to post question to the staff. The only thing is I don't want anyone to be able to see the post besides staff and the poster. Is this possible currently or am I going to have to do some custom work?

Posts: 3

Participants: 2

Read full topic

Subdomain issue with blog and website and forum

$
0
0

@Ganzuelo wrote:

I started a new instance of discourse at meta.foxtrottango.net however going to blog.foxtrottango.net and foxtrottango.net it is pointing to the discourse instance.

I masked the IP address but in the 3 A records I have it there.

In the yml file I also have it as meta.foxtrottango.net

I'm probably missing something minor. Any help would be great!

Posts: 5

Participants: 2

Read full topic

User admin panel broken

$
0
0

@bweissman wrote:

I went to edit a user today and I was presented with the following error:

frowning
Error
while trying to load
Something went wrong.
Go Back Try Again

I am unsure what the problem is, and did not make any major changes to discourse itself. New users work fine, just existing users.

Any help would be appreciated.

Posts: 5

Participants: 2

Read full topic

Announcing WordPress plugin to display any data from Discourse

$
0
0

@meglio wrote:

Finally, a universal WordPress plugin that fetches anything from Discourse and outputs it in your blog.

Dear Discourse community!

I have been using Discourse for almost 2 years, mostly combining it with WordPress.

As a result, I ended up creating a WordPress plugin that lets me display any JSON data with using an easy to learn Twig syntax.

Recently, I put some effort to teach the plugin fetching data from WordPress' underlying MySQL database and use the same Twig syntax to output the data fetched.

These two features combined so well and covered so many cases that I decided to put some effort to polish it, create a tiny website and make it available on the marketplace.

Please welcome - Twig Anything plugin for Wordpress + Discourse and much more


Example 1. Top 5 most liked users this week


Example 2. Howto topics discussed now:


Example 3. Latest topics from a particular category (in Russian) - see it live


Example 4. Forums leaderboard with various statistics (in Russian) - see it live


How it works

Firstly, the plugin adds Twig Templates section to your WordPress:


Next, for every template, you configure what data you want to fetch from Discourse and whether to cache it and for how long:


Finally, you create a simple HTML template with Twig syntax. you have full control of how the data is displayed. Here is a simple example of how it looks in WordPress:

Twig can do many things for you: filter and slice arrays, transform strings, call some PHP functions safely and much more. That's why I selected Twig to display the data.


When you have finished creating your Twig Template and is happy with the output (by clicking the Preview button), you can now copy the shortcode and use it anywhere in WordPress: in posts, pages, headers, footers, widgets etc:

Tutorial and more demos

Here are a few demos showing real live data from Discourse Meta.

Here is an illustrated step-by-step guide for retrieving data from Discourse and displaying it in WordPress.

How to get the plugin

The plugin is not free, but it is not expensive either - just $37 for a single WordPress setup (multisite included). This includes:

  • unlimited use with a single WordPress installation
  • full source code
  • 1 year free updates
  • 3 months support

P.S. I'm very confident regarding the price - the high quality code is covered by my 10+ years experience developing in PHP, including for WordPress. I know how the high quality plugin can make the difference. So if you need the plugin, I'm asking you to appreciate my effort and accuracy and love that I put into it. Buying the plugin will also help me to evolve it further based on the feature requests of the community.

Your feedback and feature requests

For Discourse users, I'd happily answer and questions and take any feature requests right in this thread. Otherwise, you'll find a simple support system right on the website.


Afterword

I'm very interested in what community thinks of this plugin, how you would use it and on which website. Please let me know! I can't wait seeing it in action. After all, there have been no complete JSON-rendering plugins for WordPress - before today, and that's why I made it.

Posts: 1

Participants: 1

Read full topic

«Paid Membership» plugin with PayPal integration! (version 1.0, 2015-07-11)

$
0
0

@dmitry_fedyuk wrote:

«Paid Membership» plugin gives you an ability to sell membership, access, privileges, and trust levels on your Discourse forum.

Live Example

You can see a live example here: https://discourse.pro/plans
More, you can try it yourself! The green membership plan («Tester») is just for your tests smile
You can buy it for $1 and you will automatically get Trust Level 1 and membership in the «Tester» user group on discourse.pro.

See also my other plugins:

How To Buy

To get «Paid Membership» plugin please buy our «Standard» or «VIP» membership package.

How it works

The membership subscription page is accessible, for example, through user dropdown menu:

The payment page looks like this:

It is fully customizable: all the membership plans, prices, business rules, texts, colors are editable through admin panel (see below).
The number of membership plans is unlimited: it can be 1, 3, 10, or whatever you want smile

After selecting a membership plan the customer will be redirected to the PayPal website to pay:

And after successful payment the customer will be redirected back to the forum and AUTOMATICALLY granted specified group membership and trust levels:

Admin part

So, how it organized inside?
First of all, decide what you want to sell.
Setup your forum groups, trust levels, permissions...

Then setup «Paid Membership» plugin.
Below the real settings of «Paid Membership» plugin on discourse.pro:





Next, setup the payment gateway (PayPal):

That's all!

Posts: 2

Participants: 2

Read full topic

Viewing all 60642 articles
Browse latest View live




Latest Images