In Confluence Questions is there any way of editing reputation thresholds?
For example: By default users need 500 points to be able to edit a topic, if I wanted to change this to be 250 points is there any way of achieving this?
There's not yet an official, supported & documented way to do this. However, there is a secret REST API that allows this. You'll need to write and execute a script to make the change. Here's an example in Python using the Requests library:
import sys import requests confluence_url = "http://localhost:1990/confluence" username = "admin" password = "admin" s = requests.session() # Login with Admin username/password r = s.post(confluence_url + "/dologin.action", data={"os_username": username, "os_password": password}) if r.status_code != 200: print "Login failed" print r.text sys.exit(1) # Change the topic reputation threshold to 250 points r = s.post(confluence_url + "/rest/questions/1.0/admin/permissionThreshold", data={"EDIT_TOPIC": "250"}) if r.status_code != 200: print "Failed to update permission threshold" print r.text sys.exit(1) print "Permission Threshold updated successfully"
Edit:
Here are the permissions which can be controlled by reputation limits, and their default thresholds. You can update them all in a single POST request to the REST API by specifying each one as an individual form parameter.
That's great - thank you for that. We will be wanting to customise all of the reputation settings, could you let me know the data tags for each one (vote down, delete, etc)? Thank you for your help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I updated my answer with the full list
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
One key question would be how to GET the current value of these settings?
(So that we can verify that the POST works.)
(It appears that the permissionThreshold resource only provides a POST method, no GET method.)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
What I am trying to do is prevent non-admins from creating new topics.
Raising the UPDATE_QUESTION_TOPICS threshold (using the Python + REST script) seems to partially accomplish this – it prevents someone from creating a new topic for a question asked by someone else.
But none of these seem to affect the user's ability to create a new topic for a question they have asked. Is there a way to do this?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.