Users should be able to search Conpherence:
- It should be possible to search across all threads you have permission to see (e.g., "I know I remember someone talking about Redis, but don't remember which thread it was in -- let me go find that, since I think it was relevant to some task at hand").
- It should be possible to search within a thread.
An index is in place, although it isn't proven yet. This is probably mostly blocked by figuring out how the UI works.
- How do users get to the "search all threads" view? How are results shown?
- How do users access search from within a thread?
- How are results shown?
- While results are shown, what does the rest of the UI do? Can the user still chat? What if a new message comes in?
- How do users access search from within the chat column?
- Can they?
- How are results shown?
- What does the rest of the UI do while results are shown?
The answers to these interaction questions are probably subtle and hard to implement. We should a dirty implementation first, to avoid having to answer any of those questions:
- Make a /conpherence/search/ page which just has a text input on it. No way to get there from the UI.
- When you type stuff into the text input, it searches all threads.
- Results are displayed on the page in whatever janky mess is easiest.
- This will prove that the index works.
Then, we can:
- Let the page scope search to one thread (thread ID in the URI or something).
- Link to it from somewhere in the main Conpherence UI (shove it in a menu or something, no integration).
- Work on making the results look nicer if they're hard to read or super garbagey or whatever.
Once the thing actually works and is useful, we can figure out how to merge it into the UI and how all the interactions with JS and events will work, since that stuff should be better defined by then.
Earlier
Some mocks; these are not specs.