Content collaboration tools/reputation system


(ete) #1

I understand it’s quite far removed from the current focus and a major feature, but in the long term, I would absolutely love to see a way of integrating a content-creating community based on Discourse with a good set of tools for collaborative editing and managing content (using all the awesome things reputation-based access allows, and having work on collaboratively edited pages feed into the forum’s reputation system sanely. Which is hard, but I’ve been considering it for a few years… and have some ideas.). Forums are almost great for collaborative community projects, but no-one’s got the whole reputation feedback for generating content in a collaborative and open project thing right, and Discourse is going to have a large number of the parts needed to do it properly.

Handling reputation systems on pages created by a large number of people in a way which rewards them even vaguely fairly for different kinds of improvement to a page is fairly hard to do, and all ways I’ve come across have some issues. My current favorite idea is letting users tag their edits (with pre-defined tags, e.g. spelling fix, added new section, created stub, full grammar check) with each tag granting a certain amount of reputation. New users and those with low reputation would have the tags assigned to their edits checked and modified/approved by a high rep user who would get a small rep bonus for doing this much like users are rewarded for upvoting useful content on stackoverflow, and edits correctly tagged by the editor would give a larger reputation bonus than those which are initially mistagged to reduce the incentive to label edits with a higher earning tag. And users who don’t want to figure out which tags to put on their edits don’t have to, they could leave it to the higher users (though they would be encouraged to tag themselves).

Things needed:
Ability for topics to be promoted to pages/articles, which makes the thread use a different skin more fitting for content pages, makes it show up on various lists, become available on a different URL as well (www.wiki.example.com/page-title as well as than www.forum.example.com/page-title/12), and becomes editable by all those with the required access.
Various permissions granted at configurable reputation levels (suggest edit, suggested edits auto-approved (except on protected pages, different trust level), review edits and their tags, move page, protect and unprotect page, delete page (soft, hard, hide deleted version, don’t hide), promote thread to page, move page back to forum, access to various anti-vandal tools).
Good difference engine.
A templating system.
Recent changes.
Reputation system.

So, quite a few things. And some will require a fair amount of attention to do right, but on the other hand… the ideal community content collaboration system would include everything that Discourse aims to be, and many of the parts of this puzzle would enrich forums which did not use it as a CMS (a great difference engine for example would be useful for looking at post edit histories) since there is a huge amount of overlap. I think this would be an amazing draw to Discourse

Every forum community I have been active on (plus almost all I’ve lurked on, and at a glance, a large number of those on the big-boards.com list) has had some form of community content creation project and many areas ripe for being brought into a more organized form. Each I’ve been involved with has had to make do with inadequate and poorly integrated ways of publishing and collaborating on the content. I don’t think it’s a coincidence that so many of the communities which grew had some creative focus; people like projects they can contribute to. If Discourse provides tools to help this along, with a system of incentives akin to stackoverflow’s amazing one, it would usher in a new era of glory. Or at least make a lot of people very happy and parts of the web a much more useful places.

This would, in my mind, ideally be a part of the core since it interacts with many things and performance is important, but perhaps the plugin system could make it work well enough. Preferably it would be developed with at least a lot of guidance from some of the main devs. Which probably pushes it well into the future because there’s a million things more mission-critical things for them to focus on, and will be for some time.

But long term how open are the dev team to building something like this into Discourse? And what do other users think of the idea?


Anything like Discourse for community publishing?
(Jeff Atwood) #2

Any features so tied to editing are going to be a poor fit for a forum system, almost by definition.

The general expectation is that in systems of opinion, what you say is controlled exclusively by you and can’t be modified by anyone else. Your opinion is a beautiful, unique snowflake just like you!

That said, we do have plans to offer an “opt in to collarborative editing” mode for posts that users can tick, which opens them up to editing by any trusted users. But it would never be the default, I don’t think, and a discourse system with that set as the default would be very surprising to the average user.


(ete) #3

Could you explain why features for editing are almost by definition worse in a forum setting? They’re definitely going to be lower priority, and initially not as great as software focused on that, but with a huge community of programmers wanting to improve this place the tools could reasonably be included without harming the forum side, no?

Yes, I read a topic where you spoke about those (Suggested Edits for anyone interested). I agree with not making it enabled by default, a vast majority of posts gain nothing from being openly editable and it would be unsettling for users to have changes pushed at them or made directly by non-moderators. However opening posts for some kinds of topics are often important collecting points for information, giving the community tools to do this effectively and rewarding them for it sanely with the rep system would be amazing. And if you have those tools, you’re most of the way to a system which allows the opening post of a thread to function as a content page.

Also… I think that the “utility to the world” vs. “satisfying an itch for human discourse” need not be an either/or thing here. In fact, the two can fit extremely nicely together in my experience. Creating content which is of use to the world is an endless well of things to discuss.


(Ides) #4

Would this also allow for rollbacks or versioning to a certain degree? Just that alone would be extremely powerful when a group of users are trying to get together a guide or article for public posting.

One of the other forums that I frequent often has articles and text that is worked on before it reaches the public side of the forums or website. Users are forced to quote and add their “markup” rather then automatically changing things using some kind of suggestion system. This leads to several working copies of the article and usually a single user has to go through and organize all the various marked up articles into a single copy. This process can occur four or five times before it is posted publicly.

Also, don’t forget to have something for when more then one user is editing at a time. Either don’t allow it or have it similar to Google Wave (ok, maybe a little overboard but cool).

The website in question has attempted to use Google Drive but that causes content to be outside of the same environment that it would be otherwise posted so things like images, video, html and bbcode does not work correctly.


(Jeff Atwood) #5

Versioning existed from day one; try editing your post and see what happens. (hint, look in the left gutter under your username…)


(Ides) #6

Thanks for pointing that out. I didn’t realize that it was already implemented. Is there some kind of timer to prevent many versions from being created? I must have edited that post three times and I never saw that versioning icon.


(Jeff Atwood) #7

The default edit grace period is 5 minutes, but that is configurable in the admin site settings.

Edits within the grace period are not treated as revisions in the database.


(Robert Andrews) #8

Some other ideas/requests on Discourse for community/publishing - Anything like Discourse for community publishing?


(Charles Barouch) #9

Was collaboration implemented? I’m loving everything I’ve seen suggested here.


(Jeff Atwood) #10

Well, staff can mark any post as wiki, which means any users at TL1 or higher can edit that post.