Home | Parent | ← Go → | Prior | Next

# 4.6 Browser Add-Ons

The developers of Firefox, Chrome and Chromium have thoughtfully provided some hooks into which BookMacster adds on its own software components which empower it to work more intimately with these browsers. Borrowing a general term from Mozilla, we call these our Add-Ons.

Topics on this Page

- Purposes of Browser Add-Ons
- Management of Browser Add-Ons
- Updates
- File Components

## 4.6.1 Purposes of Browser Add-Ons

The Browser Add-Ons

- empower Synkmark, Markster or BookMacster to export bookmarks content to, and for some browsers, Import bookmarks content from, the browser app while it is running.

- Notify a BookMacster Agent when you have changed (added, deleted, moved, or updated) a bookmark or folder in the browser’s built-in bookmarks, so that a Worker can sort the new bookmark into place and/or import it and then export to other browsers’ built-in bookmarks.

- provide a Toolbar Button or Menu Items in the browser by which you can add new bookmarks directly to Markster, or a BookMacster Bookmarkshelf. They look like this

In Google Chrome and related browsers, you can have a Toolbar Button like this…

In Firefox, you can have two Menu Items like this…

## 4.6.2 Management of Browser Add-Ons

The file components that comprise the Browser Add-Ons are included in the Synkmark, Markster or BookMacster application package, and controls to install them are in the app. You do not need to download them separately, and they are not available from Mozilla’s site nor the Google App Store.

The first time you command an import from or export to a web browser supporting an add-on while it is running in the importing or exported profile, Synkmark, Markster or BookMacster will install the add-on components which will make quitting the browser unnecessary in future such imports or exports. For Chrome, Canary or Chromium, this is done silently. For Firefox, you must make two or three mouse clicks to “approve” the installation. The app will guide you through this.

### Manage Browser Add-Ons window

BookMacster also provides an interface to “manually” install, uninstall, and test browser add-ons. To access it, click in the application menu > Manage Browser Add-Ons.

In this window, the notation (Loaded) means that the extension is installed in the profile, and that the browser is running, in this profile. Firefox can only run in one profile at a time. Google Chrome can be running multiple profiles in different windows, each with its own extension loaded, or not, and once an extension is loaded, it will stay loaded even if all of its windows are closed. Thus, clicking the Refresh button and noting whether extensions are (Loaded) and (Not Loaded) is the only true method to determine the current state of Sheep Systems’ Extensions in a given profile.

The More Tests… button at the bottom of the window exposes a test which gives an accounting of the Firefox and Chrome browser profiles in use, and also provides a little monitor which indicates whenever bookmarks change notifications are issued by our Firefox and Chrome, Canary and Chromium extensions. This test may help determine the problem if you think Synkmark or BookMacster is not syncing when bookmarks changes occur in these browsers, but the Test buttons indicate OK. (This type of problem is often caused by a mixup in browser profiles.)

## 4.6.3 Updates

In order to add new features, fix bugs, or maintain compatibility, just like Synkmark, Markster or BookMacster, although less often, our browser Add-Ons are occasionally updated to a new version. Again, such updates are shipped inside Synkmark, Markster and BookMacster updates and you shouldn’t need to worry about them. Each time one of these apps launches, it checks the versions of any already installed browser add-ons, and installs any updates that are necessary. You may be asked to assist with a mouse click or two, to indicate your approval.

Because the Add-Ons are not distributed nor updated through Mozilla’s Add-Ons For Firefox or Google’s Chrome Web Store, whatever update settings you set in Chrome or Firefox for our Add-Ons have no effect.

## 4.6.4 File Components

The files that comprise our browser Add-Ons are all installed into your Home’s Library.

### Firefox

Our Add-On for Firefox is installed as a single package of software called an extension. This extension contains a JavaScript XPCOM Component communicates to Synkmark, Markster or BookMacster via a js-ctypes dynamic library. It is first installed in your Firefox profile folder at this path:

- path/to/profile/extensions/staged/firefoxextension@sheepsystems.com

and then after the next time Firefox launches, Firefox moves it to

- path/to/profile/extensions/firefoxextension@sheepsystems.com

### Chrom-ish Browsers (Chrome, Canary, Chromium)

Our Add-Ons for the Chrom-ish browsers (Chrome, Canary and Chromium) each consist of one or two extensions.

The BookMacster Sync extension is installed for syncing with the browser’s bookmarks. This includes importing or exporting while the Chrom-ish browser is running, and importing or exporting if you are signed into Chrome and have enabled Bookmarks syncing, whether the browser is running or not, and notifying Synkmark or BookMacster of changes that need to be imported and synced to other Clients.

The BookMacster Button extension provides the toolbar button which may be used to send bookmarks to Synkmark, Markster, or BookMacster directly, which is one of the tools available for using BookMacster as a central bookmarks store.

Depending on whether you want syncing, the toolbar button, or both, either or both extension may be installed in any given browser/profile.

Both of these extensions are installed by Synkmark, Markster or BookMacster as External Extensions. In addition to the Manage Browser Add-Ons window in Synkmark, Markster or BookMacster, you can also observe and control the status of these extensions in the Chrom-ish browser, by clicking in its main menu: Window > Extensions.

Both of these extensions communicate with Synkmark, Markster or BookMacster via our Chromessenger helper tool, which resides in the Synkmark, Markster or BookMacster application package. When you launch any of the Chromish browsers, it launches one Chromessenger process for each User Profile into which either of our Chromish extensions is installed. When you install one of our extensions, it also installs a special manifest file in the NativeMessagingHosts subdirectory of the browser’s application support directory, for examples…

`~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.sheepsystems.chromessenger.json` `~/Library/Application Support/Google/Chrome Canary/NativeMessagingHosts/com.sheepsystems.chromessenger.json` `~/Library/Application Support/Chromium/NativeMessagingHosts/com.sheepsystems.chromessenger.json`

Prior to Synkmark/Markster/BookMacster version 1.22.9 (July 2014), our Chrom-ish extensions required an NPAPI Plugin, installed at

`~/Library/Internet Plug-Ins/SheepSystemsNPAPIPlugin.plugin`

It is not used by versions 1.22.9 or later of our apps, and these versions will delete it upon launching. If you find any `SheepSystemsNPAPIPlugin.plugin` left hanging around anywhere, you should delete it.

Home | Parent | ← Go → | Prior | Next