We have a “Survey” object which has sync rules configured such that a user will have all Surveys (and its related objects) they created and any Surveys that another user has shared with them via a join table. Most users will work out of their My Surveys view which uses the standard DB to show these synced Surveys.
However in some cases, a user with the appropriate permissions may need to access another user’s Survey via an online-only view. They can then open the survey and look through it and its related objects. The problem is that we want to reuse the rest of our app for this process which is built on the standard DB and we would prefer not to have to refactor every view to work correctly with querying objects from OnlineDB when needed. The natural solution we came up with is to “force share” the survey with the user (i.e. automatically create the join table entry) which should trigger the sync rule and make the survey available via the standard DB rather than just OnlineDB.
However this brings up a new issue. How long does the user have to wait for the sync rule to kick in after the join table object is created? And how do we handle their app experience in the meantime? Should the Online Surveys view only allow sharing with yourself and then you have to go back to the “My Surveys” view and refresh until you get this survey? Is there a better way?
Any insight is appreciated.