StateVoicesNational / Spoke

mass-contact text/SMS distribution tool
Other
463 stars 405 forks source link

RFC: Request/Release-style dynamic assignment + Texter Sidebox extensibility #1533

Closed schuyler1d closed 4 years ago

schuyler1d commented 4 years ago

Proposal

spoke-texter-rightpanel

Motivation

The Warren Campaign Spoke Project successfully deployed a great model to manage texters. We'd like to make the following workflows possible in Spoke:

Furthermore, a lot of use-cases have come up both in the Warren campaign and other contexts for a Texter 'sidebox' -- where other widgets, etc can be contextually added. These 'request/release' buttons are an opportunity to structure this framework. Some Texter Sidebox use cases include: request a new batch button

Because of recent Texter UI work there is also quite a bit of simplification to do to remove the older interfaces, so doing that simultaneously seems like a good opportune time.

Detailed Design

Design choices/alternatives

Project Plan Information

This project has a lot of steps. I would like to do the 'quick' things first, to reduce churn over time, and then focus on hard things later in the process. Here are the steps I plan:

  1. Refactor TexterUI -- this will move files around, so getting that done first, seems best
  2. Schema changes: adding new columns to campaign table will allow other changes to move forward without migration churn. We can also move the Dynamic assignment down in a different AdminCampaignEdit panel.
  3. Sidebox extension framework for TexterUI
  4. Request/Release mutations/adjustments
  5. Refactor some AssignmentTexterContact requests to simplify incoming data.

Sponsor Organization (will test alphas/betas)

MoveOn

Developer allocated

@schuyler1d

Planned timeline

Work should complete by the beginning of June. Hopefully different pieces will be merged throughout releases before then.

Files/File-sections touched

Schema changes and migrations

Any other links to details about the plan (maybe a Google Doc link, or other place where folks have commented)

The same RFC text is available here: https://docs.google.com/document/d/1DL_Vq50JWxzrhoFEBmDxZ_2ht7rWf33d_ui9neiEhmo/edit?usp=sharing which can allow inline comments more easily.

Existing github issues that this RFC will address

cc: @ibrand @matteosb @jeffm2001

ibrand commented 4 years ago

@deasterdaywfp @codygordon This sidebar could also be used for some better feedback for texters to notify a guide or communicate with admin. Even escalate a conversation. Thoughts on this UI concept?

ibrand commented 4 years ago

@Frydafly curious to hear if this sidebar would be useful for something like your issue: #1541

Frydafly commented 4 years ago

@Frydafly curious to hear if this sidebar would be useful for something like your issue: #1541

@ibrand I think yes! It could offer a less clunky way to embed a support ticket request form /knowledge base

ibrand commented 4 years ago

This would close #846

deasterdaywfp commented 4 years ago

@ibrand I really support this moving into the UI and we would have so many uses for the extendable sidebar!

suegibson commented 4 years ago

This part gives me pause: “an optional button for texters to 'give up' on replies and pass the conversations on”. I need to review conversations and correct user errors before they get moved.

schuyler1d commented 4 years ago

This part gives me pause: “an optional button for texters to 'give up' on replies and pass the conversations on”. I need to review conversations and correct user errors before they get moved.

This would be an optional setting -- both able to set a default at the organization level and a per-campaign setting.