Skip to content

Instantly share code, notes, and snippets.

@Albert221
Last active February 26, 2016 18:46
Show Gist options
  • Save Albert221/99721f505e9f59059869 to your computer and use it in GitHub Desktop.
Save Albert221/99721f505e9f59059869 to your computer and use it in GitHub Desktop.

Diskuto features

  • Customizable sidebar - adding different panels, changing its order.
  • Ranks system - admin, mod and user. Custom ranks.
  • Permissions
    • Forum-specific - global and for each forum and its childs separately.
      • can see
      • can read
      • can reply
      • can create thread
      • can like
      • can report
      • can delete
      • can edit
      • can stick
      • can close
    • Website-specific
      • can handle reports
      • can warn
      • can ban
      • can manage forums' structure
      • can manage permissions
      • can manage forum's settings (name, description etc.)
      • can manage plugins
      • can manage themes
      • can see users' data
      • can manage users' data
  • Likes - like beers, points, upvotes etc.
  • Reports system - users can report posts and mods can delete/warn/ban them.
  • Warns - punishment system. i.e. after 3 warns you're not able to post and after 6 warns you're getting banned.
  • POSSIBLE Notifications - replies to your posts, mentions, likes etc.
  • POSSIBLE Achievements - i.e. 100 posts, 1k likes, one post with 100 likes.
  • TO DISCUSS Dynamism - using pjax or something like AngularJS.
@logarytm
Copy link

To the permissions part, I would generalize it even more to user roles. For example, one can have the CAN_VOTE role granted when their reach a minimum number of points (of course that must by symmetric - the role must be revoked when the points go under the minimum).

And for extreme flexibility, we could add an expert mode, where you configure rules for granting roles basing on arbitrary criteria. For instance, a user can get a IS_HELPFUL role if number of upvotes of his posts is at least 1000 and number of downvotes is at most 25% of all votes he got. The Hoa\Ruler library can help writing these rules without the GUI, which is hard to get done right.

@logarytm
Copy link

Dynamicism: I don't consider AngularJS a good candidate here, because it does not play well with progressive enhancement, and using services like prerender.io is not a solution, but a horrible hack.

We may consider using pjax, but I don't find it a priority feature. I would rather see in-background polling for new posts/replies, and interactions such as likes/votes and comments via Ajax.

@Albert221
Copy link
Author

What about leaving a choice between upvote & downvote and only upvotes (likes) to admin as a setting in admin panel?

@logarytm
Copy link

This would be a good idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment