Subject: Prevent replication of profile documents
If you want documents to be “local only” then Profile documents are not the way to go.
Create normal documents to store the values, and get to them by view lookups. You should have a field with the server’s name, so lookups would always select the document relative to the server the replication copy is on. Then it does not matter if they replicate or not.
Your only other option would be Selective Replication (which personally, I’ve never been a fan of as you cannot control how users replicate.).
i.e. Replicate all documents where Dont_Replicate != “Yes” and add that value to your profile documents.
But that’s not robust. It could fail if someone makes a full local replica, and replicates with two different server copies.
As an aside, I’ve stopped using Profile Documents completely after we were hit by a nasty bug.
User started a new replica, but interrupted it.
The profile document had not replicated.
The user opened the partially replicated database, creating a new blank profile document
The user completed the replication, which copied the blank profile back to the server
This, of course, destroyed the field values on the server’s document, and as profile documents cannot create replication conflicts, we could not easily correct that.
So my advice would be to consider not using them at all, and stick to normal documents.