PR:
--------------------
Feature description
It would be nice to have a @mention feature, akin to what Twitter, Github, Facebook et al. have. The behaviour I had in mind is this: you start typing @someusername and a small window pops up showing possible usernames (maybe up to 10). When you submit the post, the username is linked to the user's profile.
For example, if I typed @naderman, it would turn into a link to his user profile (like this: @naderman) and he would get a PM or email (if enabled in his profile settings) alerting him about the topic. The extra JS-based functionality would be nice if JS is enabled, but would not be necessary for the feature to work - with JS disabled, no window would pop up, but mentioning a user would still link to their profile.
Caveats
- Open to abuse - what if I posted a hundred times and mentioned @naderman every single time, resulting in a hundred notifications for naderman? How can this be avoided?
- Editing posts - deleting @mentions should probably not do anything. What about adding a mention? What if you delete then subsequently add a mention?
- How should the mention data be stored? Or should it just not be stored at all? (In which case, how would it work in conjunction with the ability to add/delete mention?) Should it be stored on a per-post basis, with mentions that have been deleted from the post not deleted from the table to avoid users being notified about one post multiple times? Should it be on a per-topic basis?
- A new [mention][/mention] bbcode
- A new popup-up when you start writing @ after a space if you are in WYSIWYG mode
- @mention parsed automatically when the post is submitted (with a checkbox and an option to disable it, like for the smileys)