-
-
Notifications
You must be signed in to change notification settings - Fork 486
add a page for gathering and moderating suggestions #1868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ae4c698 to
b03d326
Compare
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
4a815f3 to
9faaf3e
Compare
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
9014f0b to
10bfa37
Compare
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
|
Deployed commit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @paulfitz !
Context
This is an initial implementation of the "crowdsourcing" idea in #1837 and #1829. It is very limited, and marked as an experiment.
In short, you can chose to collect "suggestions" for a document by setting a flag. If you do so, then anyone can fork your document, make some changes, and suggest those changes to you by clicking a button. All suggested changes to a document are visible on a special "suggestions" page on the document. You can click to accept changes you like, or dismiss those you don't. For now only very unambitious changes will work (changes to strings and numbers).
How to try it out
On document settings you will now see a flag for enabling suggestions.
Once you've set this flag, there is a new "Suggestions" page in the tool section, initially empty.
If someone makes a fork of your document, they see a "Suggestions" page, which shows the changes they have made relative to your document, and lets them "suggest" that to you.
When they suggest it, they see some status information, and you see their suggestion on your "trunk" document.
The rendering of differences will need to improve! That isn't in the scope of this PR though, it is separate work. The data needed to make better differences is available, you can see more context if you click the little arrow near the table name.
Related issues
Has this been tested?
Implementation details
Not much new is added to Grist. This is built on the existing forking mechanism. An extra table is added in the home db called
proposals. Each row stores the kind of results the/compareendpoint gives for a pair of documents, serialized in json. (This could get big for big changes! That would be bad. Future option: don't store content of big changes, compute it on need, or store externally). This makes the suggestions page quick and easy to render. A few flags are added todocs.optionsin the home db.Since suggestions aren't part of the doc, undo/redo doesn't work naturally for change operations (dismissing, retracting etc). Applying suggestions can be and is made undoable through the built in mechanism, but isn't well integrated with the proposals page.