November 25

Adjust the questions quickly

By: Jamie Wright

Screenshot of Edit Questions

Modify questions during setup inside Slack

The focus continues to stay on setting up a standup meeting during install. These last two weeks, I worked on the ability to edit the questions that are asked during the standup right within Slack, removing the need to adjust these on the web.

Within the edit questions view, you will be able to perform the follwing:

  1. Edit a question
  2. Remove a question
  3. Change the order of the questions
  4. Add a question
  5. Require an answer to a question (new feature!)

In order to accomplish all of these features in one modal, I needed to either get fancy with serializing the questions and their properties or have a way to edit the template “in memory” and only apply these changes when the user clicks on save. That means I can edit a question, move a question, remove a question, all without needing to worry about how to serialize those changes.

Enter the “view state manager”. I developed a way to utilize Elixir processes to hold changes to an object in memory. Then you can add changes to the object in memory and store those changes in memory and retrieve based on a key for each user.

The view state manager will be extracted and added to Juvet once I work out the best architecture.

Speaking of Juvet, a new Slack route of view_closed was added the router in order to support Slack notifying your app when a view is closed. This is used in Tatsu to clear out the data in the view state manager.

I am continuing to work on the editing questions modal during the next few weeks. It’s a complicated one and adding the view state support will speed things up. Once the edit questions modal is complete, the next focus will be on managing the schedule for recurring standups.

Until next time. 🌎✌️