Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for mentions #6

Open
2 tasks
jdpage opened this issue Dec 16, 2015 · 7 comments
Open
2 tasks

Add support for mentions #6

jdpage opened this issue Dec 16, 2015 · 7 comments

Comments

@jdpage
Copy link
Owner

jdpage commented Dec 16, 2015

Add support for mentions. Mentions take the form of the link rewrite [[mention:username]] which behaves as follows:

  1. a mention of the named user by the editing user at the time of edit is added to the "mentions" table
  2. the link is rewritten to [[user:username]], to prevent a mention from being logged every time the page is edited

The mentions for a user can be retrieved from

  • the user page's edit feed
  • the user page's atom feed (see Atom feeds #7)
@jdpage
Copy link
Owner Author

jdpage commented Dec 16, 2015

@woodrowbarlow is this suitable for your purposes? You can use a mention: to notify someone, and a remention: to follow a page.

@jdpage
Copy link
Owner Author

jdpage commented Dec 16, 2015

Removing a remention: should probably generate one last notification.

@woodrowbarlow
Copy link
Collaborator

the only use-case i can imagine for rementions is to follow a page, and i think following a page would be better done by simply subscribing to that page's rss feed (that way, other people can't force you to follow a page or make you unfollow a page). especially since to get the notification from a remention you'd need to be following a feed (your user feed) anyway.

@jdpage
Copy link
Owner Author

jdpage commented Dec 16, 2015

You're right, the only use for rementions is to follow a page. I considered the option of saying that the best approach is the follow the RSS feed, but it's worth noting that not everyone uses a feed reader, myself included (!). I'd be using and recommending an RSS->email service, which would quickly become cumbersome if one had to add each feed separately. Rementions lets you just follow your user feed, which will syndicate edits to your user page, mentions, and rementions.

As far as "making you unfollow" goes, the biggest risk is that you unfollow the page and you don't notice; if you notice, then you can re-add it. Hence the notification on removal of rementions. This reduces the problem of repeatedly making someone follow/unfollow a page or pages to the same problem as vandalism, which will be dealt with the same way (revert, rebuke, IP bans, etc.)

As an advanced-user feature, we could make it possible to specify which things a user feed returns, so you could just say "look, all I want is user page edits and mentions, I'll follow page feeds myself". Would that work for you?

@woodrowbarlow
Copy link
Collaborator

i just struggle to see the value of a remention, and i don't understand the argument that people who don't use a feed reader might want rementions as a method of subscribing to pages... since rementions are still published on an rss feed anyway.

the advantages i see to using rementions rather than just subscribing to a page:

  • people can see who is subscribed to a page (but if they disable remention notifications via the mechanism you suggested, even this information is not reliable).
  • i guess if there is some sort of special page where i can view all my mentions, then rementions means that i can subscribe without a feed at all. but if you're implementing a special page anyway, why not set page subscriptions there instead of on the pages themselves?

the disadvantages i see are:

  • it clutters the syntax, in my opinion. in any case, it introduces a new element to the syntax.
  • just because i want to subscribe to a page doesn't mean i intended to have my username rendered on the page... this would lead to use create sections at the bottom of every page that says "subscribers" and is followed by an unordered list of names.
  • it takes the power of subscribing or unsubscribing out of my hands. this is partially addressed by the notification upon change, but it still requires me to take manual action if someone removes me against my will, and it's possible that the notification could get missed.

people will want to subscribe to their user feeds to get mentions... whether by using an RSS reader or an RSS-to-email service or by just opening the feed in their browser whenever they feel like checking. but if a feed URL can specify multiple sources (as suggested in #7), then they get a feed showing their mentions plus edits to any pages they are interested in. And if they want other people to see what they are subscribed to, they can include that custom link in their user page (either embedding the feed if that is supported or just a plain-text URL that others can browse).

obviously, it's your decision. i'm just offering a second opinion since you tagged me.

@woodrowbarlow
Copy link
Collaborator

also, if your wiki software environment is ever used in a scenario with millions of users (i know, it's implausible, but like i said -- i think designing software with an baked-in assumption that the userbase will remain small is a bad idea), imagine how long the list of subscribed users would be on the most popular pages. Thousands of users who are just appending their name onto the page... the list of subscribed users would dwarf the content of the page.

you mentioned "the mentions for a user can be retrieved from a special page.". maybe if you elaborate on that, i'll understand your perceived value of the rementions.

@jdpage
Copy link
Owner Author

jdpage commented Dec 21, 2015

Summary of out-of-band discussion:

Instead of rementions, a user can edit their page to follow another page. See #23

@jdpage jdpage modified the milestones: Wiki features, 0.2 Benzene, 0.1 Aromatic Dec 22, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants