hostilefork / blackhighlighter

Node.js based web system for working with publicly posted content w/some portions protected. Server code converted from what was originally a standard Django system.
http://blackhighlighter.hostilefork.com
GNU Affero General Public License v3.0
9 stars 2 forks source link

Implement reveal subsetting interface #47

Open hostilefork opened 10 years ago

hostilefork commented 10 years ago

The new API for getting reveals allows you to submit a request for any subset to be revealed.

As a starting point of demonstrating that UI, the user could pick that subset by clicking on the yellow reveals and turning them solid yellow on yellow to "black" them back out. Then you move to the reveal phase and it reveals only those. A click could toggle them back on or off.

This could be extended with selections also. Perhaps setting the selection color to yellow on yellow and doing it like redacting, but not being able to re-redact anything that wasn't revealed locally.

hostilefork commented 10 years ago

One of the problems with this idea is that it introduces a new piece of information that only the widget can handle... a new "masked" vs. "unmasked" state for locally revealed protections. Then you need an API for it, because clients doing the reveal want to know (for instance) the number of unmasked reveals (so that they can present UI to navigate to a reveal tab, maybe).

So this is an API change. What used to be "local" reveals and "server" reveals are now "local.masked", "local.unmasked", and "server".

Still a good idea, it just changes more than it sounds like from the suggestion.

hostilefork commented 10 years ago

This is started now, but it only lets you tick off things you don't want to reveal.

The yellow-on-yellow is a bit hard to see, so the color should probably be reconsidered.

There's a lot of nitpicky UI questions about what to do if someone inputs a certificate that contains existing reveals and giving feedback about such repetitions.