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
