Confusion re: Options for Mirror using Database file

Discuss new features and functions
Posts: 4
Joined: 27 Jan 2025

PhilipLloyd

Hello, I could not yet find anything on this issue that seems like a bug.
I'd like to use database files to detect changes, but in the normal mirror mode.
But, when setting up a "Mirror" and choosing "Use database file to detect changes", the options change to "Create:, Update:, & Delete:" with seemingly illogical options.

While there are two columns for left & right of the pair, the tooltips that pop up on hover, seem to contradict the L / R columns, with actions on the left side having tooltips that indicate right-side operations, etc.

The default actions I see seem illogical (columns in brackets):
Create: [L] Copy new item to right [R] Delete right item
Update: [L] Update right item [R] Update right item
Delete: [L] Delete right item [R] Copy new item to right

I can't seem to find logical selections for this as I cycle through the icons.
Thanks
User avatar
Posts: 2615
Joined: 22 Aug 2012

Plerry

You want to run a (left-to-right) Mirror sync.
Note that a (left-to-right) Mirror sync aims to make the right side identical to the left side.

So,
> Create: [L] Copy new item to right [R] Delete right item
An item created (=new) on the left side [L] should be copied to the right side,
because it does not yet/no longer exist yet on the right side.
An item created (=new) on the right side [R] should be deleted from the right side,
because it does not exist on the left side.

Similarly,
> Update: [L] Update right item [R] Update right item
An item updated on the left side [L] should update the right side,
because the right side still contains the previous version.
An item updated on the right side [R] should update the right side,
to make it be in line with the left side again.

And finally,
> Delete: [L] Delete right item [R] Copy new item to right
An item deleted from the left side [L] should be deleted from the right side,
because it does no longer exists on the left side.
An item deleted from the right side [R] should be copied left-to-right,
because it does not yet/no longer exist on the right side.
User avatar
Posts: 4296
Joined: 11 Jun 2019

xCSxXenon

While there are two columns for left & right of the pair, the tooltips that pop up on hover, seem to contradict the L / R columns, with actions on the left side having tooltips that indicate right-side operations, etc.

The default actions I see seem illogical (columns in brackets):
Create: [L] Copy new item to right [R] Delete right item
Update: [L] Update right item [R] Update right item
Delete: [L] Delete right item [R] Copy new item to right PhilipLloyd, 27 Jan 2025, 05:25
The defaults are correct. The left side is the "source" in a mirror sync, so actions on the left side only make sense if they have a corresponding operation on the right side. For example: If an item is CREATED on the LEFT, the proper action to take is to copy that new item to the right side. Another example: If an item is DELETED from the RIGHT, copy the item from the left. This makes sense because you told FFS you want the right side to mirror the left side. The other four should make sense if you understand these two examples
Posts: 4
Joined: 27 Jan 2025

PhilipLloyd

My misunderstanding was caused by not realizing that the "Create:", "Update:" & "Delete:" are the scan results as "create" as they are as verbs, indicating action.
I see now that they are results, and the wording makes them able to be applied to both action (icon) columns.
Due to the verbiage (pardon the pun*), I thought the left icon column was supposed to be the scan result, and the right side icons were to be the actions.

Now i see that the all 6 icons are actions for each side.
I understand them now as:

=[ Scan found: (L) ]= ===[ACTION]===
[ New item on (L) ] > then > [ Copy (L) item to (R)]
[ Updated (L) item ] > then > [ Update (R) item ]
[ Deleted (L) item ] > then > [ Delete (R) item ]

=[ Scan found: (R) ]= ===[ACTION]===
[ New item on (R) ] > then > [ Delete (R) item ]
[ Updated item on (R)] > then > [ Update (R) item ] *
[ Deleted item on (R)] > then > [ Copy (L) item to (R) ]

* "Update" (R) item by copying (L) item to (R), ignoring time stamp?

I DO have a question (asterisked above) about UPDATED item found on RIGHT side:
It seems to indicate that, when an UPDATED RIGHT side item is found, then the action will be to UPDATE the RIGHT side item.
What action is actually performed, if any?
Is the RIGHT side updated item replaced by the the LEFT side item, ignoring any time stamp... or what action ?

==================
* Definition of verbiage:
2. US [USA] : the way in which something is expressed; wording or diction.
"we need to look at how the rule should be applied, based on the verbiage"
==================
User avatar
Posts: 2615
Joined: 22 Aug 2012

Plerry

> Is the RIGHT side updated item replaced by the the LEFT side item, ignoring any time stamp...
Exactly!
After all, you tell FFS to Mirror left-to-right,
so the sync should make the right side equal to whatever is in the left side.
Posts: 4
Joined: 27 Jan 2025

PhilipLloyd

> Is the RIGHT side updated item replaced by the the LEFT side item, ignoring any time stamp...
Exactly!
After all, you tell FFS to Mirror left-to-right,
so the sync should make the right side equal to whatever is in the left side. Plerry, 28 Jan 2025, 06:42
Great!
I may be a little dense sometimes, but I like that strictness :)

Thanks to all for the explanations. I didn't expect such a fast and comprehensive response.
I've been bragging about this program for a long time now I guess, but this is the first time I felt confused.
It really is about as simple as it gets for simple things, and it seems not that much more complicated for complex things. That says a lot about the design of it.