Check Builder Mac Manual

broken image


The role of the MAC Worker is an important responsibility. The MAC Worker is the eyes, ears and hands of the MAS Nurse and a valued member of the consumers' treatment team. This manual contains essential information that can be readily accessed to remind the MAC Worker of key facts about assisting with medications. SR Research Experiment Builder is a sophisticated and intuitive drag-and-drop graphical programming environment for creating computer-based psychology and neuroscience experiments. Updates are always free and always fully backwards compatible. Cross-platform compatible for Windows (32-bit and 64-bit) and macOS (OSX). Note that in order to develop/test UI/UX of updating without packaging the application you need to have a file named dev-app-update.yml in the root of your project, which matches your publish setting from electron-builder config (but in yaml format). But it is not recommended, better to test auto-update for installed application (especially on Windows).

See publish configuration for information on how to configure your local or CI environment for automated deployments.

Flip PDF Professional for Mac Manual.

Check Builder Mac Manual Pdf

Code signing is required on macOS

macOS application must be signed in order for auto updating to work.

Auto-updatable Targets¶

  • macOS: DMG.
  • Linux: AppImage.
  • Windows: NSIS.

All these targets are default, custom configuration is not required.

Squirrel.Windows is not supported

Simplified auto-update is supported on Windows if you use the default NSIS target, but is not supported for Squirrel.Windows.You can easily migrate to NSIS.

Differences between electron-updater and built-in autoUpdater¶

  • Dedicated release server is not required.
  • Code signature validation not only on macOS, but also on Windows.
  • All required metadata files and artifacts are produced and published automatically.
  • Download progress and staged rollouts supported on all platforms.
  • Different providers supported out of the box (GitHub Releases, Amazon S3, DigitalOcean Spaces, Bintray and generic HTTP(s) server).
  • You need only 2 lines of code to make it work.

Quick Setup Guide¶

  1. Install electron-updater as an app dependency.

  2. Configure publish.

  3. Use autoUpdater from electron-updater instead of electron:

    JavaScriptES2015
  4. Call autoUpdater.checkForUpdatesAndNotify(). Or, if you need custom behaviour, implement electron-updater events, check examples below.

Check Builder Mac Manual

Note

  1. Do not call setFeedURL. electron-builder automatically creates app-update.yml file for you on build in the resources (this file is internal, you don't need to be aware of it).
  2. zip target for macOS is required for Squirrel.Mac, otherwise latest-mac.yml cannot be created, which causes autoUpdater error. Default target for macOS is dmg+zip, so there is no need to explicitly specify target.

Examples¶

Example in TypeScript using system notifications

  • A complete example showing how to use.
  • An encapsulated manual update via menu.

Debugging¶

You don't need to listen all events to understand what's wrong. Just set logger.electron-log is recommended (it is an additional dependency that you can install if needed).

Note that in order to develop/test UI/UX of updating without packaging the application you need to have a file named dev-app-update.yml in the root of your project, which matches your publish setting from electron-builder config (but in yaml format). But it is not recommended, better to test auto-update for installed application (especially on Windows). Minio is recommended as a local server for testing updates.

Compatibility¶

Generated metadata files format changes from time to time, but compatibility preserved up to version 1. If you start a new project, recommended to set electronUpdaterCompatibility to current latest format version (>= 2.16).

Option electronUpdaterCompatibility set the electron-updater compatibility semver range. Can be specified per platform.

e.g. >= 2.16, >=1.0.0. Defaults to >=2.15

  • 1.0.0 latest-mac.json
  • 2.15.0 path
  • 2.16.0 files

Staged Rollouts¶

Staged rollouts allow you to distribute the latest version of your app to a subset of users that you can increase over time, similar to rollouts on platforms like Google Play.

Staged rollouts are controlled by manually editing your latest.yml / latest-mac.yml (channel update info file).

Update will be shipped to 10% of userbase.

If you want to pull a staged release because it hasn't gone well, you must increment the version number higher than your broken release.Because some of your users will be on the broken 1.0.1, releasing a new 1.0.1 would result in them staying on a broken version.

File Generated and Uploaded in Addition¶

latest.yml (or latest-mac.yml for macOS, or latest-linux.yml for Linux) will be generated and uploaded for all providers except bintray (because not required, bintray doesn't use latest.yml).

Private GitHub Update Repo¶

You can use a private repository for updates with electron-updater by setting the GH_TOKEN environment variable (on user machine) and private option.If GH_TOKEN is set, electron-updater will use the GitHub API for updates allowing private repositories to work.

Warning

Private GitHub provider only for very special cases — not intended and not suitable for all users.

Note

The GitHub API currently has a rate limit of 5000 requests per user per hour. An update check uses up to 3 requests per check.

Events¶

The autoUpdater object emits the following events:

Event: error

  • error Error
Check builder mac manual downloads

Emitted when there is an error while updating.

Event: checking-for-update

Emitted when checking if an update has started.

Event: update-available

  • infoUpdateInfo (for generic and github providers) | VersionInfo (for Bintray provider)

Emitted when there is an available update. The update is downloaded automatically if autoDownload is true.

Event: update-not-available

Emitted when there is no available update.

  • infoUpdateInfo (for generic and github providers) | VersionInfo (for Bintray provider)

Event: download-progress

  • progress ProgressInfo
  • bytesPerSecond
  • percent
  • total
  • transferred

Emitted on progress.

Event: update-downloaded

  • infoUpdateInfo — for generic and github providers. VersionInfo for Bintray provider.

API¶

  • AppUpdater ⇐ EventEmitter

AppUpdater ⇐ EventEmitter

Kind: class of electron-updater
Extends: EventEmitter
Properties

  • autoDownload = true Boolean - Whether to automatically download an update when it is found.
  • autoInstallOnAppQuit = true Boolean - Whether to automatically install a downloaded update on app quit (if quitAndInstall was not called before).

    Applicable only on Windows and Linux.

  • allowPrerelease = false Boolean - GitHub provider only. Whether to allow update to pre-release versions. Defaults to true if application version contains prerelease components (e.g. 0.12.1-alpha.1, here alpha is a prerelease component), otherwise false.

    If true, downgrade will be allowed (allowDowngrade will be set to true).

  • fullChangelog = false Boolean - GitHub provider only. Get all release notes (from current version to latest), not just the latest.

  • allowDowngrade = false Boolean - Whether to allow version downgrade (when a user from the beta channel wants to go back to the stable channel).

    Taken in account only if channel differs (pre-release version component in terms of semantic versioning).

  • currentVersion SemVer - The current application version.

  • channel String - Get the update channel. Not applicable for GitHub. Doesn't return channel from the update configuration, only if was previously set.
  • requestHeaders [key: string]: string - The request headers.
  • loggerLogger - The logger. You can pass electron-log, winston or another logger with the following interface: { info(), warn(), error() }. Set it to null if you would like to disable a logging feature.
  • signals = new UpdaterSignal(this)UpdaterSignal - For type safety you can use signals, e.g. autoUpdater.signals.updateDownloaded(() => {}) instead of autoUpdater.on('update-available', () => {})

Methods

  • .AppUpdater ⇐ EventEmitter
    • .checkForUpdates()Promise
    • .checkForUpdatesAndNotify()Promise< | UpdateCheckResult>
    • .downloadUpdate(cancellationToken)Promise
    • .getFeedURL()undefined | null | String

appUpdater.checkForUpdates()Promise

Asks the server whether there is an update.

appUpdater.checkForUpdatesAndNotify()Promise< | UpdateCheckResult>

Asks the server whether there is an update, download and notify if update available.

appUpdater.downloadUpdate(cancellationToken)Promise

Start downloading update manually. You can use this method if autoDownload option is set to false.

Returns: Promise - Path to downloaded file.

  • cancellationToken CancellationToken

appUpdater.getFeedURL()undefined | null | StringappUpdater.setFeedURL(options)

Configure update provider. If value is string, GenericServerOptions will be set with value as url.

  • options PublishConfiguration | String | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions - If you want to override configuration in the app-update.yml.

appUpdater.channel (getter and setter)

Define the channel which the Auto-Updater will follow (see the auto-update with channels tutorial) using appUpdater.channel = 'beta' or get the current channel with currentChannel = appUpdater.channel.

appUpdater.quitAndInstall(isSilent, isForceRunAfter)

Restarts the app and installs the update after it has been downloaded.It should only be called after update-downloaded Videolan for mac os. has been emitted.

Note:autoUpdater.quitAndInstall() will close all application windows first and only emit before-quit event on app after that.This is different from the normal quit event sequence.

  • isSilent Boolean - windows-only Runs the installer in silent mode. Defaults to false.
  • isForceRunAfter Boolean - Run the app after finish even on silent install. Not applicable for macOS. Ignored if isSilent is set to false.

Logger

Kind: interface of electron-updater

logger.debug(message)

  • message String

logger.error(message)

  • message any
Check Builder Mac Manual

logger.info(message)

  • message any

logger.warn(message)

  • message any

UpdateInfo

Kind: interface of electron-updater
Properties

  • version String - The version.
  • files Array
  • path String - Deprecated: {tag.description}
  • sha512 String - Deprecated: {tag.description}
  • releaseName String - The release name.
  • releaseNotes String | Array - The release notes. List if updater.fullChangelog is set to true, string otherwise.
  • releaseDate String - The release date.
  • stagingPercentage Number - The staged rollout percentage, 0-100.

UpdateCheckResult

Kind: interface of electron-updater
Properties

  • updateInfo module:builder-util-runtime.UpdateInfo
  • downloadPromise Promise>
  • cancellationToken CancellationToken
  • versionInfo module:builder-util-runtime.UpdateInfo - Deprecated: {tag.description}

UpdaterSignal

updaterSignal.login(handler)

Emitted when an authenticating proxy is asking for user credentials.

  • handler - callback

updaterSignal.progress(handler)

  • handler - callback
Check Builder Mac Manual

updaterSignal.updateCancelled(handler)

  • handler - callback

updaterSignal.updateDownloaded(handler)

Builder

Note

  1. Do not call setFeedURL. electron-builder automatically creates app-update.yml file for you on build in the resources (this file is internal, you don't need to be aware of it).
  2. zip target for macOS is required for Squirrel.Mac, otherwise latest-mac.yml cannot be created, which causes autoUpdater error. Default target for macOS is dmg+zip, so there is no need to explicitly specify target.

Examples¶

Example in TypeScript using system notifications

  • A complete example showing how to use.
  • An encapsulated manual update via menu.

Debugging¶

You don't need to listen all events to understand what's wrong. Just set logger.electron-log is recommended (it is an additional dependency that you can install if needed).

Note that in order to develop/test UI/UX of updating without packaging the application you need to have a file named dev-app-update.yml in the root of your project, which matches your publish setting from electron-builder config (but in yaml format). But it is not recommended, better to test auto-update for installed application (especially on Windows). Minio is recommended as a local server for testing updates.

Compatibility¶

Generated metadata files format changes from time to time, but compatibility preserved up to version 1. If you start a new project, recommended to set electronUpdaterCompatibility to current latest format version (>= 2.16).

Option electronUpdaterCompatibility set the electron-updater compatibility semver range. Can be specified per platform.

e.g. >= 2.16, >=1.0.0. Defaults to >=2.15

  • 1.0.0 latest-mac.json
  • 2.15.0 path
  • 2.16.0 files

Staged Rollouts¶

Staged rollouts allow you to distribute the latest version of your app to a subset of users that you can increase over time, similar to rollouts on platforms like Google Play.

Staged rollouts are controlled by manually editing your latest.yml / latest-mac.yml (channel update info file).

Update will be shipped to 10% of userbase.

If you want to pull a staged release because it hasn't gone well, you must increment the version number higher than your broken release.Because some of your users will be on the broken 1.0.1, releasing a new 1.0.1 would result in them staying on a broken version.

File Generated and Uploaded in Addition¶

latest.yml (or latest-mac.yml for macOS, or latest-linux.yml for Linux) will be generated and uploaded for all providers except bintray (because not required, bintray doesn't use latest.yml).

Private GitHub Update Repo¶

You can use a private repository for updates with electron-updater by setting the GH_TOKEN environment variable (on user machine) and private option.If GH_TOKEN is set, electron-updater will use the GitHub API for updates allowing private repositories to work.

Warning

Private GitHub provider only for very special cases — not intended and not suitable for all users.

Note

The GitHub API currently has a rate limit of 5000 requests per user per hour. An update check uses up to 3 requests per check.

Events¶

The autoUpdater object emits the following events:

Event: error

  • error Error

Emitted when there is an error while updating.

Event: checking-for-update

Emitted when checking if an update has started.

Event: update-available

  • infoUpdateInfo (for generic and github providers) | VersionInfo (for Bintray provider)

Emitted when there is an available update. The update is downloaded automatically if autoDownload is true.

Event: update-not-available

Emitted when there is no available update.

  • infoUpdateInfo (for generic and github providers) | VersionInfo (for Bintray provider)

Event: download-progress

  • progress ProgressInfo
  • bytesPerSecond
  • percent
  • total
  • transferred

Emitted on progress.

Event: update-downloaded

  • infoUpdateInfo — for generic and github providers. VersionInfo for Bintray provider.

API¶

  • AppUpdater ⇐ EventEmitter

AppUpdater ⇐ EventEmitter

Kind: class of electron-updater
Extends: EventEmitter
Properties

  • autoDownload = true Boolean - Whether to automatically download an update when it is found.
  • autoInstallOnAppQuit = true Boolean - Whether to automatically install a downloaded update on app quit (if quitAndInstall was not called before).

    Applicable only on Windows and Linux.

  • allowPrerelease = false Boolean - GitHub provider only. Whether to allow update to pre-release versions. Defaults to true if application version contains prerelease components (e.g. 0.12.1-alpha.1, here alpha is a prerelease component), otherwise false.

    If true, downgrade will be allowed (allowDowngrade will be set to true).

  • fullChangelog = false Boolean - GitHub provider only. Get all release notes (from current version to latest), not just the latest.

  • allowDowngrade = false Boolean - Whether to allow version downgrade (when a user from the beta channel wants to go back to the stable channel).

    Taken in account only if channel differs (pre-release version component in terms of semantic versioning).

  • currentVersion SemVer - The current application version.

  • channel String - Get the update channel. Not applicable for GitHub. Doesn't return channel from the update configuration, only if was previously set.
  • requestHeaders [key: string]: string - The request headers.
  • loggerLogger - The logger. You can pass electron-log, winston or another logger with the following interface: { info(), warn(), error() }. Set it to null if you would like to disable a logging feature.
  • signals = new UpdaterSignal(this)UpdaterSignal - For type safety you can use signals, e.g. autoUpdater.signals.updateDownloaded(() => {}) instead of autoUpdater.on('update-available', () => {})

Methods

  • .AppUpdater ⇐ EventEmitter
    • .checkForUpdates()Promise
    • .checkForUpdatesAndNotify()Promise< | UpdateCheckResult>
    • .downloadUpdate(cancellationToken)Promise
    • .getFeedURL()undefined | null | String

appUpdater.checkForUpdates()Promise

Asks the server whether there is an update.

appUpdater.checkForUpdatesAndNotify()Promise< | UpdateCheckResult>

Asks the server whether there is an update, download and notify if update available.

appUpdater.downloadUpdate(cancellationToken)Promise

Start downloading update manually. You can use this method if autoDownload option is set to false.

Returns: Promise - Path to downloaded file.

  • cancellationToken CancellationToken

appUpdater.getFeedURL()undefined | null | StringappUpdater.setFeedURL(options)

Configure update provider. If value is string, GenericServerOptions will be set with value as url.

  • options PublishConfiguration | String | GithubOptions | S3Options | SpacesOptions | GenericServerOptions | BintrayOptions - If you want to override configuration in the app-update.yml.

appUpdater.channel (getter and setter)

Define the channel which the Auto-Updater will follow (see the auto-update with channels tutorial) using appUpdater.channel = 'beta' or get the current channel with currentChannel = appUpdater.channel.

appUpdater.quitAndInstall(isSilent, isForceRunAfter)

Restarts the app and installs the update after it has been downloaded.It should only be called after update-downloaded Videolan for mac os. has been emitted.

Note:autoUpdater.quitAndInstall() will close all application windows first and only emit before-quit event on app after that.This is different from the normal quit event sequence.

  • isSilent Boolean - windows-only Runs the installer in silent mode. Defaults to false.
  • isForceRunAfter Boolean - Run the app after finish even on silent install. Not applicable for macOS. Ignored if isSilent is set to false.

Logger

Kind: interface of electron-updater

logger.debug(message)

  • message String

logger.error(message)

  • message any

logger.info(message)

  • message any

logger.warn(message)

  • message any

UpdateInfo

Kind: interface of electron-updater
Properties

  • version String - The version.
  • files Array
  • path String - Deprecated: {tag.description}
  • sha512 String - Deprecated: {tag.description}
  • releaseName String - The release name.
  • releaseNotes String | Array - The release notes. List if updater.fullChangelog is set to true, string otherwise.
  • releaseDate String - The release date.
  • stagingPercentage Number - The staged rollout percentage, 0-100.

UpdateCheckResult

Kind: interface of electron-updater
Properties

  • updateInfo module:builder-util-runtime.UpdateInfo
  • downloadPromise Promise>
  • cancellationToken CancellationToken
  • versionInfo module:builder-util-runtime.UpdateInfo - Deprecated: {tag.description}

UpdaterSignal

updaterSignal.login(handler)

Emitted when an authenticating proxy is asking for user credentials.

  • handler - callback

updaterSignal.progress(handler)

  • handler - callback

updaterSignal.updateCancelled(handler)

  • handler - callback

updaterSignal.updateDownloaded(handler)

  • handler - callback

Back up your Mac

And your memories. A few simple steps can save you from losing your favorite photos and files.

Learn how to back up your Mac

Mac service and repair

Learn about AppleCare+ and the Apple limited warranty coverage, start a service request for your Mac, and find out how to prepare your Mac for service.

Learn more about repairs

Get AppleCare+ for Mac

Check Builder Mac Manual Downloads

With AppleCare+, you're covered. Get accidental damage coverage and 24/7 priority access to Apple experts.

Have a question?

Check Builder Mac Manual Software

Ask everyone. Our Apple Support Community can help you find answers.

Ask the Apple Support Community

Tell us how we can help

Check Builder Mac Manual Download

Answer a few questions and we'll help you find a solution.

Get support

Apple Service Programs





broken image