Hi folks,

it is hackweek for the Fauxton team and I am lucky enough to be able
to work on whatever I want :)

Conflicts are an integral part of CouchDB. Right now I dream of making
conflict-resolution a first class citizen in Couch. Conflict
resolution requires a lot of manual steps. The idea is to give the
user all the tools they need to easily solve conflicts, and also to
help them to avoid conflicts in the future.

To empower every user to detect and solve conflicts easily on their
own, instead of writing some custom bash/js scripts and custom view
hackery I would like to have a list of conflicts in Fauxton for every
database.

The list, provided by Couch, shows which documents have conflicts. I
can then click on the conflicting doc and get a nice diffing editor
which helps me to solve the conflict. Here's an early draft: [1]

Discussing the matter in couchdb-dev we thought about serverside
filtering of _all_docs - which is a problem for large databases.

Another option is a new endpoint, e.g. /db/_all_conflicts. Behind this
endpoint is an index which is listing the conflicting documents.

Jan and Alex suggested the index could be opt-in. They suggested an
"auto-warmer" - it would update the index every 1000 doc updates or
so. This way not every doc write would get slower. In later iteration
we could even expose the "auto-warming" feature to other views.

Do you want to join me on my quest to provide the best conflict
resolution tools and education?
What do you think about it?

Best,
Robert :)

[1] 
https://cloud.githubusercontent.com/assets/298166/13741539/c4ecf6d0-e9ce-11e5-84c5-502b0989c290.png

Reply via email to