Tagging is a long-requested feature in the MoveOn version of Spoke. We see different variations appear in the Politics Rewired version of Spoke, the Warren fork, and we see a different version of it appear in the WFP fork. In an effort to consolidate the best of all worlds and from what we've been hearing from the community, we'll have a mix of the Warren and Politics Rewired Tags.
This project board represents the work of a Progressive HackNight working group that's been taking on the tagging project.
See RFC: reconcile features from the WFP fork.
We added enhancements and features in the Working Families Party fork of Spoke during 2019. Let's bring that work into the MoveOn fork in a manner consistent with the established change-management process.
Some of the features and enhancements are building blocks for other features (such as profanity filter), the rest are improvements that are nice to have.
A simple merge of the MoveOn fork and the WFP fork is difficult. WFP wanted to move quickly in 2019 so we made changes that went into production without code review and without the usual review-test-staging-merge process in the MoveOn fork. (Note that WFP has been running a branch in production.) The WFP fork drifted far from the MoveOn fork, and attempts to merge have run into dozens of conflicts.
These are the changes in question. Not all WFP PRs are listed here. Some have already been merged into the MoveOn fork.
| Description | Feature, Enhancement, Fix? | WFP PRs | Future direction |
|---|---|---|---|
| Select multiple campaigns in message review | Enhancement | 96 97 113 | |
| Suspended texter status | Feature | 98 Suspended texter cutoff 136 | Suspended testers should not be able to text or reply, and it should not be possible to assign contacts to them |
| Google doc interactions import | Fixes | 99 | |
| Limit users available in texter filter to those in selected campaigns | Enhancement | 100 Use of campaigns filter instead of campaignId not in MoveOn fork | |
| Paginated, searchable people page with other enhanements | Enhancement | 101 105 110 137 140 | |
| Conversation permalink (useful when discussing a conversation in slack, for example) | Feature | 103 104 | |
| Use auth0 to initiate password reset when not using local passport strategy | Enhancement | 106 | |
| Various message review usability improvements | Enhancement | 107 108 109 111 112 120 138 139 | |
| Texter assignment usability | Enhancement | 114 | |
| Conversation info dialog (on texter view, allows testers to get information about a conversation to use when discussing a conversation slack for example) | Feature | 115 | |
| Paginated campaigns page with searching and sorting | Enhancement | 116 | |
| Stop popups when loading interactions panel on Safari | Fix | 117 | |
| Package updates | Enhancement | react-formal 121 MoveOn PR 1178 | |
| Improve performance of interaction steps editor | Enhancement | 122 124 MoveOn PR 1179 | |
| Tagging | Feature | 123 128 131 132 133 134 135 | We're going to want to put this feature in front of people who care about texter experience (organizers? a UX volunteer?). Right now the only way for a texter to apply a tag is by skipping a response, meaning there's a user-facing change in response skipping. Also, feedback from WFP indicates that in order to surface tags, they need to keep refreshing message review. We may want to think about either making it a workflow, so there is a queue of new tags for organizers to look at, or creating a saved search feature in message review. |
| Fix message sending from message review (ensure it works in WFP fork) | Fix | 125 | |
| Timestamps on messages in message preview | Enhancement | 129 130 |
TBD
Any dev should be able to easily set up a Spoke development environment. All items in here are meant to facilitate the dev env setup to make it bug free and easy.
React v16
In order to do this update correctly, a lot of different pieces of code need to be updated together. React, Material UI, Apollo, and potentially Webpack all need to be updated and are (in many cases) coupled.
No description
Beyond system-level scaling, how do we scale the application
No description
Scaling so it can handle thousands of texters and add higher performance on the admin side.
Planning Doc Here: https://github.com/MoveOnOrg/Spoke/wiki/Spoke-Scaling-Plan
Comments on Plan? Use the following PR: https://github.com/MoveOnOrg/Spoke/pull/524