Hey Tolis,
great job with the adapter!
a) remove()
since there are obviously many ways how to achieve "delete all docs",
I believe it's up to user to choose the way he wants the docs deleted
i.e. it could be up to Data Manager configuration whether data will be deleted with or without a history loss (aka wipe out). wdyt?
b) Filtering
It would be pretty overwhelming for a user to create a view per particular use of the filter() method, since it can have pretty arbitrary form.
We are also able to create temporary views, but that requires you to perform one additional POST request and it is costly.
Are we able to come up with a common view definition that would cover all the filtering capabilities - i.e. generic aerogear-filter view?
Something that user would define once and all cases would be covered.
I have not practically played with CouchDB, but according the docs it could be somehow possible.
Btw as I think about it, there might be lack of function for limiting what data to transfer.
i.e. Filtering API allows you to select just particular docs, but it does not help you to avoid what will be transferred.
All the Data Managers so far are local ones, CouchDB is a first one that actually transfers data from the wire.
Cheers,
~ Lukas