Synchronize Edge Favorites

EdgeSync

EdgeSync is designed as an alternative to the internal Microsoft synchronization systems for sharing Edge favorites.

This application works by keeping a "Remote" copy of the favorites in a text-based XML file that all PCs can share. You can store this file practically anywhere… a network location, in the "cloud", on a USB flash drive, etc. For example:

   "%USERPROFILE%\OneDrive\Documents\EdgeSync.xml".

The synchronization process is not automatic… you must run this application periodically to keep the list of favorites synchronized. (Although you could add this application as a scheduled task).

Note: This synchronization tool does not alter the sort order of the favorites.

Screen shot of EdgeSync GUI

Background

Take a look at this related article How Edge Synchronization Works for more details on how this features is supposed to work.

The internal Microsoft technique requires that each user be logged in via a "Microsoft Account", so that means that it is unavailable for those who use a local account. Corporate users could use "Enterprise State Roaming" for this purpose, but that requires the latest version of Active Directory.

Yes, you could use a domain account, but only if that account is also linked to a Microsoft Account. However, forcing every employee to have a Microsoft Account would probably not be practical. Also, in a secure environment, you may not have the ability to use any off-premises storage services.

Another scenario would be that you want to share favorites between two different accounts. For example, from your domain work account and your home MSA account, or from your home MSA account and your spouse/kid's MSA account.

So, that's the reason behind this application... it allows you to do synchronization between any accounts while keeping everything "on-premises" without incurring any additional costs.

It's probably not a good idea to use two different synchronization systems simultaneously. So, to use this application, you must first disable the "Sync your content" feature of Edge. From Edge, click on the "more" icon (the 3 little dots), then "Settings", then use the slide switch for "Sync" to turn it off. Note: This is not the same location as all of the other sync settings

EdgeManage

Note! EdgeSync is not designed for use as a one-time synchronization tool.

EdgeSync is a full-time replacement for the existing Edge built-in synchronization system. However, if you intend to keep using the built-in sync system and just want to do a one-time manual synchronization of your favorites, then you should use EdgeManage instead. With EdgeManage, you can do an HTML export on the "main" PC, and then on each of the other PCs, you'd clear all favorites and do an HTML import. This will manually force the list of favorites to be the same.

Release Notes

Version 2.1.11 - 19 Dec 2018

Version 2.1.10 - 20 Aug 2018

Version 2.1.9 - 17 Jul 2018

Version 2.1.8 - 28 Jun 2018

Version 2.1.7 - 4 Jun 2018

Version 2.1.6 - 28 May 2018

Version 2.1.5 - 25 May 2018

Version 2.1.4 - 5 Jan 2018

Version 2.1.0 - 6 Aug 2017

Version 2.0.0 - 24 Apr 2017

Version 1.2.0 - 28 Nov 2016

Version 1.1.0 - 3 Oct 2016

Version 1.0.0 - 6 Jul 2016

Public Domain

This application and its source code are placed in the "public domain". That means it's completely free, with no restrictions on its use. There is no license, so you can do anything you want with it, to include making money from it. You are also free to tinker with it, modify it, add new features, etc.

Libraries

This application makes extensive use of the following libraries:

User's Guide

EdgeSync opens up with a view of the "local" data on the left and the Remote Sync Data on the right. This provides an opportunity to graphically view the proposed changes before saving them.

Note: The list on each side appears in sorted order, but the actual sort order is not changed

Screen shot of EdgeSync GUI

Changes are color coded:

File Menu

Screen shot of the File menu

Mode Menu

Screen shot of Mode menu

Note: Changes here are not saved as the default settings

Settings Menu

Screen shot of Settings menu Screen shot of Settings form

View Menu

Screen shot of View menu

Utilities Menu

Screen shot of Utilities menu

This is a good way to "prime the pump" when you first start the application and don't yet have a valid Remote Sync Data source. Copying is not really a "synchronization mode"... all entries on source are copied to the destination.

The copy function occurs immediately after confirmation...it does not wait until you hit the "Save Changes" menu

Help Menu

Screen shot of Help menu

Setup

The first time you run the application, it will prompt you to select a location for the Remote Sync Data file. Then, if the file doesn't exist, it will prompt to you copy the existing local favorites as a "seed" for the contents of the Remote Sync Data.

Technical Details

Sync Modes

There are 3 synchronization "modes":

Windows or Command Line

When run as a Windows Form application, you are provided an opportunity to review the changes that will be made to each "side" before saving.

This application can also be run as a command-line tool for use in a domain environment where it can be placed in a login or logout script. When used this way, the application must have either two or three arguments as shown:

EdgeSync.exe  /Silent  /SomeAction  /Remote:SomePath

The choices for actions include:

Other options:

examples:

EdgeSync.exe  /BiDirectional  /Remote:%USERPROFILE%\OneDrive\Documents\EdgeSync.xml
EdgeSync.exe  /ToLocal  /Remote:"%USERPROFILE%\OneDrive\Shared Documents\EdgeSync.xml"

EdgeManage

The "sister" application EdgeManage can be used to view, manage, sort the favorites that exist in the Remote Sync Data file. To perform this task from EdgeManage, use the "File->Load From Remote Sync Data file" menu

How to run

Since you must periodically run EdgeSync on each device to keep favorites in sync, you can:

When used in startup folder or GPO, make sure to add two arguments (as shown above) to make the application automatically run in a command prompt without requiring user input

Consider a scenario where you have 3 PCs and you want all of the favorites to be exactly the same.

  1. Start with a "master" PC (the PC that has the "best" version of the favorites)
  2. Optionally use EdgeManage to clean up, reorganize, and sort the favorites
  3. Use EdgeSync's "Utilities->Copy Local to Remote" (this will create the "seed" for the Remote Sync Data source)
  4. Perform a one-time "prep" on each of the other PCs by using EdgeSync's "Utilities->Copy Remote to Local" (now they are all the same)
  5. To keep them synchronized, add a shortcut to EdgeSync in the Startup folder on all PCs. As shown above, use the /BiDirectional argument (Note: This runs in a command prompt with no user intervention)

So, now each time a favorite is added, deleted, or modified on any of the PCs, those changes will be synchronized to the other PCs upon next login.

Other Related Projects

Take a look at these related projects:

View other projects by Emmet Gray at http://www.emmet-gray.com

Downloads/Links