buttonmen-dev / buttonmen

Buttonmen - an online dice game
Other
16 stars 24 forks source link

Site-wide announcements #195

Open blackshadowshade opened 10 years ago

blackshadowshade commented 10 years ago

We need the ability to issue site-wide announcements, for example, to inform users of future outages.

AdmiralJota commented 10 years ago

Would this require a UI for admins to compose announcements as well, or just to display them?

In theory, admins could just manually add them to the DB directly. Having an actual UI for it would introduce the need for some kind of permissions system beyond just whether or not someone is a logged in user. But then again, that may ultimately be necessary anyway. It might even make sense to track administrators the same way things like Fanatic and Mentor end up being handled.

blackshadowshade commented 10 years ago

I think that we would need a page that only specified admins can reach, which allows us to change the message. Anything requiring manual changes of the DB is generally too risky long-term, as it's too easy to get something wrong.

cgolubi1 commented 10 years ago

On Thu, 27 Mar, 2014 at 23:34:25 -0700, AdmiralJota wrote:

In theory, admins could just manually add them to the DB directly. Having an actual UI for it would introduce the need for some kind of permissions system beyond just whether or not someone is a logged in user. But then again, that may ultimately be necessary anyway. It might even make sense to track administrators the same way things like Fanatic and Mentor end up being handled.

Enh. For the time being, i think we can say that game admins are the same people as site sysadmins, and can login and do database things via the CLI. I don't really want to implement GUI superuser stuff --- it's a lot of work, and i personally prefer CLI fairly universally because it's easier to change-control, so, depending on who the other admins wind up being, we might not ever need it.

Chaos

cgolubi1 commented 10 years ago

On Fri, 28 Mar, 2014 at 04:59:02 -0700, James Ong wrote:

I think that we would need a page that only specified admins can reach, which allows us to change the message. Anything requiring manual changes of the DB is generally too risky long-term, as it's too easy to get something wrong.

There's more than one way to do it: a CLI script which wraps the database change prevents manual database changes (i agree, risky), but means we don't have to implement UI complexity for this corner case, and (more to the point) that we don't have to add admin privs to the API. So a CLI script is my preference.

Chaos

blackshadowshade commented 10 years ago

Sounds reasonable. As long as we have one layer of abstraction so that there's no way to accidentally write incorrect SQL statements, I'm happy.

blackshadowshade commented 10 years ago

So, one way of implementing this in the short term is to add a new announcements/news board to the forum.

AdmiralJota commented 10 years ago

If we do it that way, will we also want a way to alert people on the Overview page when there are new messages on that board, for people who don't check the forum regularly?

And if we do that, do we want to prevent non-admins from posting there?

blackshadowshade commented 10 years ago

I think, in the long term, that we'll want dismissable news items in the header.

In the short term, I'm happy with people not knowing that there's news, and having to click through into the news forum. In that case, only admins should be able to start a thread, but anyone should be able to post replies.

AdmiralJota commented 10 years ago

In order to only allow admins to start a thread there, we'll need to either have a special permissions model for admins, or else to implement a script like the one mentioned in #958.

irilyth commented 10 years ago

I think a decent short-term alternative would be to have something in the header like "last news post: $date", that text being a link to the news forum, and perhaps boldface it when $date is within a week or two of the current date or something. Given the choice between "it doesn't go away when you read it" and "it doesn't show up at all", I think I'd take the former.