]> git.cworth.org Git - turbot/blob - TODO
Modify a sheet-related TODO item after clarifying it with Nathan
[turbot] / TODO
1 Recently-proposed ideas (not yet prioritized)
2 ---------------------------------------------
3 • Set-up an announcements Slack channel that's auto fed by email to a
4   particular email address.
5
6 • Have Turbot explicitly report long state strings to the channel,
7   (since the implicit report from settting the abbreviated topic won't
8   have the whole message).
9
10 • In messages (like from /solved) don't use a raw user_name value from
11   the request, but instead some tagged version of a user ID (which
12   Slack will render as a display name).
13
14 Round management
15 ----------------
16
17 • Add a /round command which is identical to /hunt except that it acts
18   on only the puzzles in the same round(s) as the current puzzle.
19
20 • Select round fields by default based on the round of the puzzle for
21   the channel in which `/puzzle` is invoked.
22
23 • Consider putting a round prefix into the channel name to group a
24   round's puzzles in the channel list.
25
26 Meta-puzzle support
27 -------------------
28
29 • Figure out a good mechanism for linking puzzles to a meta-puzzle
30   that they feed into. Is this different or the same as the round
31   mechanism described above?
32
33 Hunt overview commands and filters
34 ----------------------------------
35
36 • On the Turbot home screen allow a dropdown for Unsolved/Solved/All
37   puzzles
38
39 • On the Turbot home screen add a text box for a search hstring (to
40   work like the search string now available in "/hunt").
41
42 • Figure out what we want for tagging and searching on tags (beyond
43   what's already possible with the state strings).
44
45 Editing puzzle fields
46 ---------------------
47
48 • Implement a command to display the status of the current puzzle
49   within the channel. Need a name for this command.
50
51 • Extend the in-channel puzzle display to also allow editing of all
52   puzzle fields
53
54 • Implement an /archive command to allow for easy archiving of a
55   channel for a solved puzzle (but make sure archived puzzles still
56   show up in global hunt/round views).
57
58 • Ensure that both spreadsheet and channel are updated in response to
59   any changes.
60
61 File uploads
62 ------------
63
64 • Incorporate puzzle file uploads into the database state for each
65   puzzle. Any file uploaded to the Slack should get included
66   initially, but when editing a puzzle users can drop irrelevant files
67   or label relevant files.
68
69 Opt-out of channel invitations
70 ------------------------------
71
72 • Consider adding a user option to allow a user to opt-in to auto
73   invitation for all newly-created puzzle channels
74
75 Sheet-related fixes
76 -------------------
77
78 • Use a hunt-specific Google Drive folder for creating all the
79   sheets. (This way, we can share out the "mh2021" folder to all team
80   members so that people can browse the sheets that way if wanted, and
81   have backup access to all of them on the off chance of Slack not
82   being available.)
83
84 • Question: Having "SOLVED" at the beginning of the sheet name is nice
85   for makint it noticeable with the sheet open, but it changes the
86   order of the sheet in the folder view. Do we maybe want to put
87   "SOLVED" at the end of the name so that puzzle sheets can be
88   reliably found in an ordered position regardless of solved status?
89
90 • Come up with a better sheet template
91
92 • Put the puzzle's name into the primary tab of the sheet
93
94 • When copying tabs from the spreadsheet template, don't leave the
95   default "Copy of " text in place.
96
97 • Do something to make it more clear which tabs exist just as
98   backup/reference from the original template vs. any new tab a user
99   has created during the hunt. (Perhaps color the reference tabs
100   differently.)
101
102 Un-prioritized items
103 --------------------
104
105 • Add support for recording/displaying those who have current roles
106
107 • Think about some way to express solve priority
108
109 Lower priority
110 --------------
111
112 • Implement code to close out an entire hunt after the fact
113
114 • Figure out what tool we want to use for shared drawing on a puzzle
115   and integrate that into Turbot, (give a command that will generate a
116   new URL and will insert that URL into the Slack topic and the list
117   of links at the top of the sheet).
118
119 • Think about using a URL shortener API for the sheet URLs (to leave
120   more room in a channel topic for state string content)