Page MenuHomePhabricator

Allow Broadcasting on all channels
Closed, ResolvedPublic

Description

related to Q62, it would be very useful to announce something like maintenance downtimes

  • on all conpherence threads
  • to all registered users via email
  • (optional) visually to all currently connected users

Event Timeline

timor raised the priority of this task from to Needs Triage.
timor updated the task description. (Show Details)
timor added a subscriber: timor.
qgil added a subscriber: qgil.

Agreed. The solution found should not rely on Conpherence alone (because for instance Wikimedia is not planning to use it, and we would welcome this feature).

Perhaps the default feature is the possibility to broadcast a message to members of one or more projects, via web notifications (the flame icon) and email, following the policies set by the users. "Broadcast to everybody" would be a checkbox.

Admins should be able to define the permissions for broadcasting to everybody to a specific group (default: Admins).

epriestley added a subscriber: epriestley.

If we pursue this, this probably needs to be a separate application, since you can uninstall notifications too (and not all users read their notifications). One could also imagine wanting to use other channels (Conpherence, email, SMS), have a permanent record of broadcasts, edit/update broadcasts, etc.

It will probably be a while before we built this. In the short term, you'll be able to do something like put a "Welcome / Message of the Day" element on the home page by default for users via Dashboards, and then edit the text in it. You could, e.g., use the "IMPORTANT:" markup to display a downtime notice:

IMPORTANT: Phabricator will be down for scheduled maintenance tonight from 9 PM - 10 PM PST.

Beyond downtime notifications, we don't really have that many use cases right now. Do you imagine using this to broadcast things other than maintenance notifications? Possibly, we should just build some kind of very targeted maintenance notification system.

I agree that sending a notice to everybody is a very unusual use case, and site notices + email to the main developer list might just be enough.

Sending notifications of members of 1, 2, many projects may have multiple use cases, though.

Another way of broadcasting notifications could be to select a bunch of objects (e.g. through a search query) and then send a notification to the authors, or to the users CCed. This is possible in Bugzilla, as a side effect of the fact that they use email addresses as usernames, and then you can extract a list of addresses from any search query or report. We use this to organize Bug Days, where we triage old bugs about <some criteria>.

Downtime notifications is my primary concern, which is rather pressing since phabricator gets a lot of updates. As a separate application, maybe it could be a banner-like thing at the top or bottom of the screen, where some global status message can be set (akin to MOTD in IRC)

In T5231#8, @epriestley wrote:

It will probably be a while before we built this. In the short term, you'll be able to do something like put a "Welcome / Message of the Day" element on the home page by default for users via Dashboards, and then edit the text in it. You could, e.g., use the "IMPORTANT:" markup to display a downtime notice:

IMPORTANT: Phabricator will be down for scheduled maintenance tonight from 9 PM - 10 PM PST.

How is that done, exactly?

Another real use case: sending an email to all the users that have signed a Legalpad document.

I don't know exactly how @chase.mp did it, but this weekend we communicated to all our Phabricator users that our testing instance would be taken down for a migration. I guess he took the list of email addresses directly from the database?

Anyway, all this to say that in practice having a supported web interface to do this is not as important as I thought.

@chase.mp told me on Sep 07 "there is no email broadcast, I had to write one" but I don't know any details either.

Was thinking on this today -- most of the need I would have for this is the maintenance case of "all users need to know this service will be offline on x date". People ignore emails so point of presence of this kind of thing is nice :)

Wondering, could the setup_warnings banner style thing be made more of a generic TOP_NOTICE banner and then a ui.notice-banner config option (I know you guys love me suggesting that :) would allow admins to park a top link to an explanation page like 48 hours before taking things down.

I realize this is all wrong but this is the seed idea to show:

/PhabricatorStandardPageView.php

+
+    $banner = null;
+    if ($user) {
+        $banner = phutil_tag_div(
+          'setup-warning-callout',
+          phutil_tag(
+            'a',
+            array(
+              'href' => 'https://www.mediawiki.org/wiki/Phabricator/versus_Bugzilla',
+            ),
+            pht('NOTICE: This is the read only bugzilla migration preview instances.')));
+    }
+

My use case atm is https://bugzillapreview.wmflabs.org/ (that won't live forever)

Screen_Shot_2014-11-18_at_12.20.46_AM.png (501×1 px, 173 KB)

A generic top level giant hammer of an all-users notification tool seems like it would be a slight bend from the existing setup warning banner, blunt enough to not be useful for abusive cases, but hits all the right notes for real "all users must know"

epriestley claimed this task.

It seems like the root issue was resolved through dashboards / hacking in notifications.

We plan to support group-membership-based chatrooms in Conpherence as part of T5364, which might reasonably include "all users" rooms, and will certainly include "members of project" rooms. Between that and the existing solutions I think we'll probably end up with reasonable tools here.

I'm going to close this, as I think we don't have anything actionable left not covered elsewhere.

(We probably won't ever support "email everyone", but you could also script that pretty easily.)

I ran into this need when trying to cover all of my bases for an extended maintenance notification. We don't have an email list that definitely covers 'all users of phabricator' that isn't absurdly over-broad (like 'all employees'). I suspect most corporate users will run into a similar convoluted problem at some point.