Skip to content

Sync States

Settings to determine the sync actions to recommend for each row of People to Discuss

What is this?

The “big idea” in this doc is to provide the user with intuitive, comprehensive two-way sync between Coda and the user's Affinity Account. In practice, this is achieved by tracking changes and calculating each row's sync state at all times. Depending on the state, we then provide the user with an easy means to action the necessary tasks that will keep data between Coda and Affinity synchronized.
Each state is defined by a collection of Rules (click one of the SETTINGS buttons below to see the rules). A “human readable” summary of each Sync State's rules is generated below as a bulleted list. Comparing this list of rules against the DESCRIPTION should help make sense of how those rules work together.
Rows in are tested against the rules in each sync state until a match is found. Importantly, states are tested from top to bottom so their order in the table is significant.
To more easily compare the rules of different sync states, a color coded view is available on



DB Sync States (People to Discuss)
BTN Edit Settings
Display Chip
Description
Sync Rules (Generated from Sync State settings)
Button Preview
Button / Status
Settings
Create Person
Creates a new Person in Affinity using the supplied First Name, Last Name, Email and Company. This action will fail if the supplied email address is already associated with an existing Person in Affinity. The new person's Affinity ID is returned into the row's Response Column.
Affinity Search Person col (chip) is
Blank
Affinity Response col (create/update) is
Blank
Editable Cols (First, Last, Email, etc) are
Not Blank
Most recent DateTime col is
Info Cols
Create Person
Create Person
Settings
Push Update
Updates an existing Person in Affinity using the updated values from the row's Editable Columns.
Affinity Search Person col (chip) is
Not Blank
Affinity Response col (create/update) is
Blank
Editable Cols (First, Last, Email, etc) are
Not Blank
Editable Cols don't match Affinity Search Person col (chip) properties
Most recent DateTime col is
Info Cols
Push
Push
Settings
Fetch Person
Updates the the row's Editable Columns with fresh content from the Search Person chip.
Affinity Search Person col (chip) is
Not Blank
Affinity Response col (create/update) is
Blank
Editable Cols don't match Affinity Search Person col (chip) properties
Fetch
Fetch
Settings
🔄 Sync
After a create or update action completes, the Affinity Pack returns the Affinity ID of the affected Person into the row's Response Column. This button moves that Affinity ID into the row's Search Person column.
Affinity Response col (create/update) is
Not Blank
Sync
Sync
Settings
Blank Row
Row is blank (no person selected, other columns are still blank)
Affinity Search Person col (chip) is
Blank
Affinity Response col (create/update) is
Blank
Editable Cols (First, Last, Email, etc) are
Blank
Person’s Email 👉
Person’s Email 👉
Settings
Up To Date
Row is in sync with Affinity entity
Affinity Search Person col (chip) is
Not Blank
Affinity Response col (create/update) is
Blank
Editable Cols (First, Last, Email, etc) are
Not Blank
Editable Cols are identical to Affinity Search Person col (chip) properties
Up to date...
Up to date...
Settings
Unsynchronized
For the Deal Flow and Port Co tables, this sync state is displayed when the AFFINITY CHIP is out of sync with the CACHE COLUMNS. Clicking it refreshes the row’s cache columns.
Affinity Search Person col (chip) is
Not Blank
Affinity Response col (create/update) is
Blank
Editable Cols (First, Last, Email, etc) are
Not Blank
Editable Cols don't match Affinity Search Person col (chip) properties
Most recent DateTime col is
Affinity Chip
Unsynchronized
Unsynchronized
There are no rows in this table

Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.