diff --git a/BETA.md b/BETA.md new file mode 100644 index 0000000..6a47769 --- /dev/null +++ b/BETA.md @@ -0,0 +1,105 @@ +![Banner](/docs/banner.png) + +# BETA release Overview +This page contains information about current public beta's of the Jabra Browser SDK, which customers can use to test and prepare for new versions in advance. + +**Warning**: The software released here is considered **unstable**, possibly **untested** and **might be updated at any time**. Use at **your own risk**. If you want to use something stable and tested please use our stable [non-beta version](README.md). + +For general information about the library please refer to our [main documentation page](README.md) + +# Compatibility +With the exception of the new 2.0 API component usage compared with the 1.2 API component and a beta-only security issue documented under the beta browser extension link below, everything in this release is backwards compatible with old version(s). This means that the updated browser extension and the updated chromehost will work in combination with older versions of other components. It also mean that you can continue to use the old 1.2 API with this release (if you want to miss out on new features and bugfixes). + +You need to install ALL updates for all bugfixes and new features to work 100% but existing old features will continue to work when updating just one or two components while you wait for the rest to be updated at a later time. + +We consider compatibility important because changes to API, browser extension and native chromehost are often pushed at different times in different channels. Thus, please report any compatibility issues if found! + +# BETA Documentation +* [Typescript API definition/documentation](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/JavaScriptLibrary/jabra.browser.integration-1.2.d.ts) +* [Changelog](CHANGELOG.md) + +# BETA Javascript API +* [Javascript API 2.0 file download link](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/JavaScriptLibrary/jabra.browser.integration-2.0.js). + +Notice that this API contains [breaking changes](CHANGELOG.md) compared with previous 1.2 version as evident from the major version. + +*For the API we adheres to semantic versioning +so increases in the major version component of the version number between releases indicate breaking changes where developers using the software +may need to change their code when updating. Increases in minor version indicates that all changes ought to be backwards compatible.* + +# Native Chromehost BETA downloads +| Operating systems | Chrome host native download | +| ----------------------------- | --------------------------------------- | +| Windows (Windows 7 or newer) | [JabraChromeHost2.0.msi](https://github.com/gnaudio/jabra-browser-integration/blob/master/downloads/JabraChromeHost2.0beta1.msi?raw=true) | +| macOS (El Capitan/Sierra) | *comming soon* | + +# WebExtension BETA +[![Banner](/docs/ChromeWebStoreBadge.png)](https://chrome.google.com/webstore/detail/jabra-browser-integration/igcbbdnhomedfadljgcmcfpdcoonihfe) + +**Important note**: If you are testing the browser extension beta together with the old 0.5 non-beta version of the chrome host, you need to give it explicit permission to call into the old chromehost executable. This is done by manually adding the new beta extension id "igcbbdnhomedfadljgcmcfpdcoonihfe" to allowed_origins in file com.jabra.nm.json in the installation directory of the native host. On windows this file is normally located in "C:\Program Files (x86)\JabraChromeHost". Note, that this security issues is only a beta issue - the problem goes away when the official version is released using an update to the non-beta browser extension. New versions of the chrome host will contain this new security setting by default. + + +# BETA Development tools/demos +* [Call control test](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/DeveloperSupportBeta/development/index.html) - testpage to try out call controll in the library +* [Library api test](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/DeveloperSupportBeta/test/index.html) - **NEW** testpage that allows detailed testing of individual API calls) +* [Playback demo with autoselection](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/DeveloperSupportBeta/playback/index.html) - demo page showing autoselection of jabra device with simple audio playback example +* [WebRTC softphone demo](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/DeveloperSupportBeta/webrtc/index.html) - demo that supports mute/unmute/end-call from a Jabra device + jabra device autoselection + +# Upgrading API from 1.2 to 2.0 +As noted in the [changelog](CHANGELOG.md) all methods now return values using [Javascript promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) rather than callbacks. Also, events are now subscribed to using a `addEventListener(nameSpec, callback)` and `removeEventListenernameSpec, callback)` similar to standard libraries and `requestEnu` is removed. + +This means that 1.2 code like this: + +``` +jabra.init( + function () { + // Handle success + }, + function(msg) { + // Handle error + }, + function (req) { + if (req == jabra.requestEnum.mute) { + // Handle mute event + } else if (req == jabra.requestEnum.unmute) { + // Handle unmute event. + } + } +); +``` + +should be converted to 2.0 code like this: + +``` +jabra.init().then(() => { + // Handle success +}).catch((err) => { + // Handle error +}); + +jabra.addEventListener("mute", (event) => { + // Handle mute event. +}); + +jabra.addEventListener("unmute", (event) => { + // Handle unmute event. +}); +``` + +The above changes were made to better handle a future expansion of events efficiently and to streamline testing and API usage in a modern way. For example the changes made it easy to create our new API test tool. + +# Typescript support (new notable BETA feature / documentation) +Added typescript definitions `jabra.browser.integration-2.0.d.ts` of API for detailed documentation, static checking and better IDE support. Refer to this file for detailed documentation about the API, including exactly what each API method expect for parameters and what each method returns. + +You can use the typescript file with a [reference path comment](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html) on top of your javascript files to get code completion for the Jabra API in many development tools. + +# Logging (new notable BETA feature) +In this beta version of the extension, chromehost and api has logging support that can be used +to diagnose errors. + +Logging for javascript components can be seen in the browser developer console for the application and for the background page of the extension (a link is provided under chrome +extensions when developer mode is selected). The log level (how much is being logged) can be controlled by right-clicking on the extension and selecting options. + +Logging for all native components (chromehost and platform sdk library) are written to text files. Destination is specified by environment variable LIBJABRA_RESOURCE_PATH or by default to %APPDATA%\JabraSDK on Windows and ~/Library/Application Support/JabraSDK on Mac OS. Log level is specified by the environment variable LIBJABRA_TRACE_LEVEL with possible values "debug", "error", "warning". + + diff --git a/CHANGELOG.md b/CHANGELOG.md index 60ceeca..2f676c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ -# General for information. +# General information. Here are listed changes for (1) Javascript API, (2) Browser extension and (3) native chromehost installation. ## 1/3 Javascript API changes : -2.0 Added/changed the following +2.0 (BETA) Added/changed the following ( this section is work in progress ) * Added typescript definitions `jabra.browser.integration-2.0.d.ts` of API for detailed documentation, static checking and better IDE support. *Tip: Use the typescript file with a [reference path comment](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html) on top of your javascript files to get code completion for the Jabra API in many development tools.* * Modern ES5+ promisified Javascript API - All methods now return values using [Javascript promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) rather than callbacks in order to enabled streamlined testing and API usage. This means for instance, the `init()` method now returns a JS promise that user should use then()/catch() on to react on initialization **(breaking change)**. * Individual subscription to event(s) using `addEventListener(nameSpec, callback)` and `removeEventListenernameSpec, callback)` **(breaking change)**. @@ -26,7 +26,7 @@ Here are listed changes for (1) Javascript API, (2) Browser extension and (3) na ## 2/3 Browser extension changes: -2.0 Added the following +2.0 (BETA) Added the following ( this section is work in progress ): * Support for passing complex input/output as needed by new JS API. * Fixed various bugs, incl. a race-condition where incorrect results would be given. * Support for new getInstallInfo command. @@ -35,7 +35,7 @@ Here are listed changes for (1) Javascript API, (2) Browser extension and (3) na 0.5 Orginal version with call control support. ## 3/3 Chome host changes: -2.0 Added the following: +2.0 (BETA) Added the following ( this section is work in progress ): * Logging to files similar to native SDK. * Support for more complex input/output needed by new JS API. * Support for new getInstallInfo command. diff --git a/README.md b/README.md index d716d72..4792d11 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,11 @@ # Overview This software project from Jabra helps developers to make solutions, where basic headset call control can be used from within a browser app using JavaScript. Since it is not possible to access USB devices directly from JavaScript, this library provides a solution of getting a route from the JavaScript to the Jabra USB device. The API is a JavaScript library with a facade that hides implementation details. Basic call control is defined by off-hook/on-hook, ringer, mute/unmute and hold/resume. With these features, it is possible to implement a browser based softphone app. Combined with the [WebRTC](https://en.wikipedia.org/wiki/WebRTC) technology it is possible to create a softphone that only requires small software components installed locally on the computer, while the business logic is implemented in JavaScript. +# Versions + +This document covers the latest stable version - for information about planned changes see the latest unstable [BETA version](BETA.md) + + ## Project goals * be able to control a headset from JS * be a lightweight solution @@ -26,28 +31,30 @@ The following desktop operating systems are supported: ### Browser support Google Chrome web browser - stable channel - 32 bit and 64 bit. -## Using the library -Developers must use the versioned JavaScript library file: `jabra.browser.integration...js`. This file adheres to semantic versioning +# Using the library + +## Javascript API +Developers must use the versioned JavaScript library file with the format `jabra.browser.integration...js`. This file adheres to semantic versioning so increases in majorVersion between releases indicate breaking changes so developers using the software may need to change their code when updating. Increases in minorVersion indicates that all changes are backwards compatible. The library internally checks for dependencies – and will report this to the app using the library. An example: The Jabra library is initialized and an error callback function is called with this text and a link: “You need to use this Extension and then reload this page”. Note that a future version could change the internal implementation and that removes/adds new requirements. -### Developer web site (release version) -A developer web site with developer tools and a softphone demo: - -https://gnaudio.github.io/jabra-browser-integration +[Latest stable version download link: - Javascript API 1.2 file](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/JavaScriptLibrary/jabra.browser.integration-1.2.js) -### The API - -[Application Programming Interface typescript]( docs/API.md) -[Application Programming Interface documentation]( docs/API.md) - -### Downloads #### WebExtension [![Banner](/docs/ChromeWebStoreBadge.png)](https://chrome.google.com/webstore/detail/jabra-browser-integration/okpeabepajdgiepelmhkfhkjlhhmofma) -#### Jabra Chrome Host -[Chrome Host](https://gnaudio.github.io/jabra-browser-integration/download) + +# Native Chromehost downloads +| Operating systems | Chrome host native download | +| ----------------------------- | --------------------------------------- | +| Windows (Windows 7 or newer) | [JabraChromeHost0.5.msi](https://github.com/gnaudio/jabra-browser-integration/blob/master/downloads/JabraChromeHost0.5.msi?raw=true) | +| macOS (El Capitan/Sierra) | [JabraChromeHost0.5.dmg](https://github.com/gnaudio/jabra-browser-integration/blob/master/downloads/JabraChromeHost0.5.dmg?raw=true) | + +## Development tools +* [Library test](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/DeveloperSupportRelease/development/index.html) - testpage to try out the library +* [Playback with autoselection](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/DeveloperSupportRelease/playback/index.html) - testpage showing autoselection of jabra device with simple audio playback example +* [WebRTC softphone demo](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/DeveloperSupportRelease/webrtc/index.html) - supports mute/unmute/end-call from a Jabra device + jabra device autoselection ### Example use @@ -62,13 +69,9 @@ How to add headset functionality to Amazon Connect: [Amazon Connect Guide](docs/ Documentation about [deployment](docs/Deployment.md) -# Logging -Latest versions of the extension, chromehost and api has logging support that can be used -to diagnose errors. +## Version information. -Logging for javascript components can be seen in the browser developer console for the application and for the background page of the extension (a link is provided under chrome -extensions when developer mode is selected). The log level (how much is being logged) can be controlled by right-clicking on the extension and selecting options. +For information about individual releases see [changelog](docs/CHANGELOG.md). For information about upcomming changes see also our [beta information page](BETA.md). -Logging for all native components (chromehost and platform sdk library) are written to text files. Destination is specified by environment variable LIBJABRA_RESOURCE_PATH or by default to %APPDATA%\JabraSDK on Windows and ~/Library/Application Support/JabraSDK on Mac OS. Log level is specified by the environment variable LIBJABRA_TRACE_LEVEL with possible values "debug", "error", "warning". diff --git a/docs/API.md b/docs/API.md index 165241e..f841850 100644 --- a/docs/API.md +++ b/docs/API.md @@ -1,4 +1,7 @@ -### The API +### The API (v 1.2 and earlier only) + +NB: The API documented here wll be changed in upcomming v2.0 release. See [here](BETA.md) for details. + The JavaScript library must be initialized using this function: ```javascript jabra.init(onSuccess, onFailure, onNotify) diff --git a/docs/Deployment.md b/docs/Deployment.md index e73a25a..2cc1bf2 100644 --- a/docs/Deployment.md +++ b/docs/Deployment.md @@ -4,7 +4,7 @@ It is possible to mass deploy the required client side software, in order to remove any client side. -1. Push the Windows installer file `JabraChromeHost0.5.msi` to the clients using your compagny IT deployment tools, i.e. Microsoft System Center Configuration Manager, IBM Tivoli or Symantec Altiris +1. Push the Windows installer file for the native chromehost (`JabraChromeHost*.msi`) to the clients using your compagny IT deployment tools, i.e. Microsoft System Center Configuration Manager, IBM Tivoli or Symantec Altiris 2. Push a Registry key to the clients. This could be done by using Group Policy or Microsoft System Center Configuration Manager. diff --git a/docs/JabraAmazonConnectGuide.md b/docs/JabraAmazonConnectGuide.md index cdc69b4..8f08764 100644 --- a/docs/JabraAmazonConnectGuide.md +++ b/docs/JabraAmazonConnectGuide.md @@ -10,7 +10,7 @@ Prerequisites: ### Layered architecture ![Banner](/docs/AmazonLayers.png) -### Initialization +### Initialization (API v1.2) Both the Amazon Connect Streams and the Jabra Browser integration libraries must be initialized: ```javascript diff --git a/src/DeveloperSupportBeta/download/screen.png b/docs/screen.png similarity index 100% rename from src/DeveloperSupportBeta/download/screen.png rename to docs/screen.png diff --git a/src/DeveloperSupportBeta/download/JabraChromeHost2.0beta1.msi b/downloads/JabraChromeHost2.0beta1.msi similarity index 100% rename from src/DeveloperSupportBeta/download/JabraChromeHost2.0beta1.msi rename to downloads/JabraChromeHost2.0beta1.msi diff --git a/src/DeveloperSupportBeta/download/index.html b/src/DeveloperSupportBeta/download/index.html deleted file mode 100644 index b4b34de..0000000 --- a/src/DeveloperSupportBeta/download/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - Jabra Browser Integration (BETA) - - - -
-
-

Jabra Browser Integration (BETA)

-

Chrome host download

-
-
-
-
- -
-
-
- - - - - - - - - - - - - -
Operating SystemDownload (BETA version)
Windows (Windows 7 or newer)JabraChromeHost2.0beta1.msi
macOS (El Capitan/Sierra)Not currently available - will be available in a future beta
-
-
-
-
-

GN Audio A/S

-
-
- - \ No newline at end of file diff --git a/src/DeveloperSupportBeta/download/main.css b/src/DeveloperSupportBeta/download/main.css deleted file mode 100644 index ff90eb3..0000000 --- a/src/DeveloperSupportBeta/download/main.css +++ /dev/null @@ -1,123 +0,0 @@ -body { - /* background: url("bg.png"); */ - background: #f0f0f0; - font-family: Helvetica; - margin:0; - padding:0; -} - -.wrapper { - margin: 0 auto; - max-width: 900px; -} - -header { - border-bottom: 1px solid #ccc; - /* color:white; */ - /* text-shadow: 2px 2px rgba(0,0,0, 0.5); */ - padding: 25px; -} - -section { - background:white; - padding: 35px 0; - overflow:hidden; -} - -footer { - border-top: 1px solid #ccc; - padding: 25px 0; -} - -footer p { - font-size:13px; - margin:0; -} - -a { - font-weight: bold; - color: inherit; -} - -footer a:hover { - text-decoration: underline; -} - -p, h1, h2, h3 { - margin: 0 0 0.5em 0; -} - -h1.title { - font-size: 42px; - margin-bottom: 5px; - margin-top:0; -} - -p { - line-height: 1.4em; -} - -.center { - text-align:center; -} - -.col-1-2 { - box-sizing: border-box; - float: left; - width: 50%; -} -.col-1-2:first-child { - padding-right: 40px; -} -.col-1-2:last-child { - padding-left: 40px; -} - -label { - color: #555; - display: block; - font-size: 11px; - font-weight: bold; - margin-bottom: 0.3em; - text-transform: uppercase; -} -input[type=text] { - width: 220px; -} -input[type=text], button { - border: 1px solid #ccc; - border-radius: 3px; - font-size: 14px; - margin-bottom: 20px; - padding: 7px 10px; -} -button { - outline:none; - background: #f5f5f5; - padding: 7px 20px; -} -button:active { - background: #ddd; -} -.console { - background: #f5f5f5; - border: 1px solid #ccc; - border-radius: 3px; - height: 300px; - padding: 10px 15px; - font-size: 13px; - width:100%; -} - -.no-plugin { - display: block; -} - -.plugin { - display:none; -} - -.tWin { - margin: 0 auto; - box-shadow: 0 4px 10px gray; -} \ No newline at end of file diff --git a/src/DeveloperSupportBeta/index.html b/src/DeveloperSupportBeta/index.html deleted file mode 100644 index 2edf5e6..0000000 --- a/src/DeveloperSupportBeta/index.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - Jabra Browser Integration (unstable BETA) - - - - Fork me on GitHub -
-
-

Jabra Browser Integration (unstable BETA)

-

Call control and more from within a browser

-
-
-
-
- -
-
-
-

Overview

-

This software from Jabra helps developers to make solutions, where basic headset call control can be used from within a browser app using JavaScript.

- -

Documentation

- - -

Development tools

- - -

Miscellaneous

- - -
-
-
-
-

GN Audio A/S

-
-
- - diff --git a/src/DeveloperSupportBeta/index.md b/src/DeveloperSupportBeta/index.md deleted file mode 100644 index ab135e0..0000000 --- a/src/DeveloperSupportBeta/index.md +++ /dev/null @@ -1,2 +0,0 @@ -## Jabra Browser Integration (unstable BETA) - diff --git a/src/DeveloperSupportBeta/main.css b/src/DeveloperSupportBeta/main.css deleted file mode 100644 index ff90eb3..0000000 --- a/src/DeveloperSupportBeta/main.css +++ /dev/null @@ -1,123 +0,0 @@ -body { - /* background: url("bg.png"); */ - background: #f0f0f0; - font-family: Helvetica; - margin:0; - padding:0; -} - -.wrapper { - margin: 0 auto; - max-width: 900px; -} - -header { - border-bottom: 1px solid #ccc; - /* color:white; */ - /* text-shadow: 2px 2px rgba(0,0,0, 0.5); */ - padding: 25px; -} - -section { - background:white; - padding: 35px 0; - overflow:hidden; -} - -footer { - border-top: 1px solid #ccc; - padding: 25px 0; -} - -footer p { - font-size:13px; - margin:0; -} - -a { - font-weight: bold; - color: inherit; -} - -footer a:hover { - text-decoration: underline; -} - -p, h1, h2, h3 { - margin: 0 0 0.5em 0; -} - -h1.title { - font-size: 42px; - margin-bottom: 5px; - margin-top:0; -} - -p { - line-height: 1.4em; -} - -.center { - text-align:center; -} - -.col-1-2 { - box-sizing: border-box; - float: left; - width: 50%; -} -.col-1-2:first-child { - padding-right: 40px; -} -.col-1-2:last-child { - padding-left: 40px; -} - -label { - color: #555; - display: block; - font-size: 11px; - font-weight: bold; - margin-bottom: 0.3em; - text-transform: uppercase; -} -input[type=text] { - width: 220px; -} -input[type=text], button { - border: 1px solid #ccc; - border-radius: 3px; - font-size: 14px; - margin-bottom: 20px; - padding: 7px 10px; -} -button { - outline:none; - background: #f5f5f5; - padding: 7px 20px; -} -button:active { - background: #ddd; -} -.console { - background: #f5f5f5; - border: 1px solid #ccc; - border-radius: 3px; - height: 300px; - padding: 10px 15px; - font-size: 13px; - width:100%; -} - -.no-plugin { - display: block; -} - -.plugin { - display:none; -} - -.tWin { - margin: 0 auto; - box-shadow: 0 4px 10px gray; -} \ No newline at end of file diff --git a/src/DeveloperSupportBeta/screen.png b/src/DeveloperSupportBeta/screen.png deleted file mode 100644 index bda7d18..0000000 Binary files a/src/DeveloperSupportBeta/screen.png and /dev/null differ diff --git a/src/DeveloperSupportRelease/index.html b/src/DeveloperSupportRelease/index.html deleted file mode 100644 index 5a0d1b8..0000000 --- a/src/DeveloperSupportRelease/index.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - Jabra Browser Integration (stable release) - - - - Fork me on GitHub -
-
-

Jabra Browser Integration (stable release)

-

Call control from within a browser

-
-
-
-
- -
-
-
-

Overview

-

This software from Jabra helps developers to make solutions, where basic headset call control can be used from within a browser app using JavaScript.

- -

Documentation

- - -

Development tools

- - -

Miscellaneous

- - -
-
- - - diff --git a/src/DeveloperSupportRelease/index.md b/src/DeveloperSupportRelease/index.md deleted file mode 100644 index 4dcb3f0..0000000 --- a/src/DeveloperSupportRelease/index.md +++ /dev/null @@ -1,21 +0,0 @@ -![Jabra GN](screen.png) - -## Overview -This software from Jabra helps developers to make solutions, where basic headset call control can be used from within a browser app using JavaScript. - -# Documentation -[API Documentation page](https://github.com/gnaudio/jabra-browser-integration) - -# Development tools -* [Library test](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/beta1/src/DeveloperSupportRelease/development/index.html) - testpage to try out the library -* [Playback with autoselection](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/beta1/src/DeveloperSupportRelease/playback/index.html) - testpage showing autoselection of jabra device with simple audio playback example -* [WebRTC softphone demo](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/beta1/src/DeveloperSupportRelease/webrtc/index.html) - supports mute/unmute/end-call from a Jabra device + jabra device autoselection - -# Javascript API -[Javascript API 1.2 file](https://raw.githubusercontent.com/gnaudio/jabra-browser-integration/master/src/JavaScriptLibrary/jabra.browser.integration-1.2.js) - -# Native Chromehost downloads -| Operating systems | Chrome host native download | -| ----------------------------- | --------------------------------------- | -| Windows (Windows 7 or newer) | [JabraChromeHost0.5.msi](https://github.com/gnaudio/jabra-browser-integration/raw/beta1/src/DeveloperSupportRelease/download/JabraChromeHost0.5.msi) | -| macOS (El Capitan/Sierra) | [JabraChromeHost0.5.dmg](https://github.com/gnaudio/jabra-browser-integration/raw/beta1/src/DeveloperSupportRelease/download/JabraChromeHost0.5.dmg) | diff --git a/src/DeveloperSupportRelease/main.css b/src/DeveloperSupportRelease/main.css deleted file mode 100644 index ff90eb3..0000000 --- a/src/DeveloperSupportRelease/main.css +++ /dev/null @@ -1,123 +0,0 @@ -body { - /* background: url("bg.png"); */ - background: #f0f0f0; - font-family: Helvetica; - margin:0; - padding:0; -} - -.wrapper { - margin: 0 auto; - max-width: 900px; -} - -header { - border-bottom: 1px solid #ccc; - /* color:white; */ - /* text-shadow: 2px 2px rgba(0,0,0, 0.5); */ - padding: 25px; -} - -section { - background:white; - padding: 35px 0; - overflow:hidden; -} - -footer { - border-top: 1px solid #ccc; - padding: 25px 0; -} - -footer p { - font-size:13px; - margin:0; -} - -a { - font-weight: bold; - color: inherit; -} - -footer a:hover { - text-decoration: underline; -} - -p, h1, h2, h3 { - margin: 0 0 0.5em 0; -} - -h1.title { - font-size: 42px; - margin-bottom: 5px; - margin-top:0; -} - -p { - line-height: 1.4em; -} - -.center { - text-align:center; -} - -.col-1-2 { - box-sizing: border-box; - float: left; - width: 50%; -} -.col-1-2:first-child { - padding-right: 40px; -} -.col-1-2:last-child { - padding-left: 40px; -} - -label { - color: #555; - display: block; - font-size: 11px; - font-weight: bold; - margin-bottom: 0.3em; - text-transform: uppercase; -} -input[type=text] { - width: 220px; -} -input[type=text], button { - border: 1px solid #ccc; - border-radius: 3px; - font-size: 14px; - margin-bottom: 20px; - padding: 7px 10px; -} -button { - outline:none; - background: #f5f5f5; - padding: 7px 20px; -} -button:active { - background: #ddd; -} -.console { - background: #f5f5f5; - border: 1px solid #ccc; - border-radius: 3px; - height: 300px; - padding: 10px 15px; - font-size: 13px; - width:100%; -} - -.no-plugin { - display: block; -} - -.plugin { - display:none; -} - -.tWin { - margin: 0 auto; - box-shadow: 0 4px 10px gray; -} \ No newline at end of file diff --git a/src/DeveloperSupportRelease/screen.png b/src/DeveloperSupportRelease/screen.png deleted file mode 100644 index bda7d18..0000000 Binary files a/src/DeveloperSupportRelease/screen.png and /dev/null differ