Skip to main content

How sync works

Your project lives in Lexbox in two copies: a FieldWorks Lite copy and a FieldWorks Classic copy. An edit reaches a colleague in up to three legs — some automatic, some not. If everyone on your team uses FieldWorks Lite, only leg 1 concerns you — legs 2 and 3 exist for teams that also work in FieldWorks Classic.

See it in action

Pick a question and step through what happens. Tap any colored trigger (automatic, the Sync button, their Send/Receive) to see where you'll find it.

Your device
FieldWorks Lite
✓ Teammates on FieldWorks Lite — automatic
1
Lexboxthe server where your project is stored
Copy 1
FieldWorks Lite copy
2
Copy 2
FieldWorks Classic copy
3
Your colleague’s computer
FieldWorks Classic
your edit
their edit

An edit travels in three legs.

Leg 1: your device ⇄ Lexbox — automatic whenever you’re online. Leg 2: between the two copies inside Lexbox — someone presses the Sync button. Leg 3: Lexbox ⇄ your colleague — they run Send/Receive in FieldWorks Classic. Pick a question below to watch it happen.

What do you want to know?

Where you'll see this in the app

1

In FieldWorks Lite: Synchronize in the sidebar (the item with the status dot), on the FieldWorks Lite tab. It shows Up to date or Pending, with counts of changes waiting in each direction. The Auto syncing button runs a sync right now.

2

The same dialog's Lexbox tab. Its two boxes — FieldWorks Lite and FieldWorks Classic — are the same two copies you see inside the Lexbox cloud in the diagram above. Between them: New data or No new data, and the Sync button. On the Lexbox website, the Sync FieldWorks Lite button on your project's page does the same thing.

3

Nothing in FieldWorks Lite. This one happens on your colleague's computer, in FieldWorks Classic's Send/Receive.

Under the hood

Show the technical detail
On this pageActuallyWorth knowing
FieldWorks Lite copyA CRDT change database (SIL Harmony)Every edit is a small change record; merging is automatic and gives the same result on every device.
Leg 1 “automatic”HTTP sync plus a push channel (SignalR)Runs after every edit, when you open a project, and when your connection comes back. A recovery loop retries every 5 minutes.
Leg 2 “the Sync button”A merge job in the FwHeadless serviceThere is no schedule. It runs only when someone presses Sync in FieldWorks Lite or Sync FieldWorks Lite on the Lexbox project page. Jobs queue one project at a time; the very first sync imports the whole project and can take minutes.
FieldWorks Classic copyA Mercurial repository (Language Depot)The same repository FieldWorks Send/Receive has always used.
Leg 3 “Send/Receive”Chorus over MercurialUnchanged for FieldWorks Classic users — FieldWorks Lite adds nothing they must learn.
“The same field” clashesDeterministic merge rulesBetween two Lite users, the most recent change wins. Between Lite and Classic (since the last leg-2 sync), the Classic value wins. Lite’s change history keeps everything.

Full technical documentation: Sync.