diff --git a/README.md b/README.md index ae4e83ee..cb56d6cb 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ The complete list of configurable parameters that can be configured via `userale | logDetails | Toggle detailed logs (keys pressed and input/change values) | false | | resolution | Delay between instances of high frequency logs (mouseover, scroll, etc.) | 500 (ms) | | userFromParams | Query param in the page URL to fetch userId from | null | -| toolName | Name of tool being logged | null | +| toolName | Name of tool being logged | null (but required) | | authHeader | Authorization header to be passed to logging endpoint | null | If you have included UserALE.js as a `script-tag` in your project, you can use HTML data parameters to pass configuration options to the library through the script tag. For example: @@ -147,6 +147,7 @@ If you have included UserALE.js as a `script-tag` in your project, you can use H src="./node_modules/flagon-userale/build/userale-2.4.0.min.js" data-url="http://localhost:8000/" data-user="example-user" + data-toolName="sample-app" data-version="2.4.0" data-tool="Apache UserALE.js Example" > @@ -165,7 +166,7 @@ You have access to the same parameters listed above, however, naming conventions | data-log-details | Toggle detailed logs (keys pressed and input/change values) | false | | data-resolution | Delay between instances of high frequency logs (mouseover, scroll, etc.) | 500 (ms) | | data-user-from-params | Query param in the page URL to fetch userId from | null | -| data-tool | Name of tool being logged | null | +| data-toolName | Name of tool being logged | null (but is required) | | data-auth | Authorization header to be passed to logging endpoint | null | If you are using our [WebExtension](https://github.com/apache/flagon-useralejs/tree/master/src/UserALEWebExtension), diff --git a/src/UserALEWebExtension/background.js b/src/UserALEWebExtension/background.js index 60ebf2ea..2ed8432d 100644 --- a/src/UserALEWebExtension/background.js +++ b/src/UserALEWebExtension/background.js @@ -42,6 +42,7 @@ var config = { version: null, resolution: 500, time: timeStampScale({}), + toolName: "browser-plugin", on: true, }; var sessionId = 'session_' + Date.now(); @@ -96,7 +97,7 @@ function packageBrowserLog(type, logDetail) { 'details' : logDetail, 'userId' : globals.toolUser, 'toolVersion': null, - 'toolName': null, + 'toolName': "browser-plugin", 'useraleVersion': null, 'sessionID': sessionId, }); diff --git a/src/UserALEWebExtension/globals.js b/src/UserALEWebExtension/globals.js index bda0d7fc..9325d3f4 100644 --- a/src/UserALEWebExtension/globals.js +++ b/src/UserALEWebExtension/globals.js @@ -21,7 +21,7 @@ export var userAleHost = 'http://localhost:8000'; export var userAleScript = 'userale-2.4.0.min.js'; export var toolUser = 'nobody'; -export var toolName = 'test_app'; +export var toolName = 'browser-plugin'; export var toolVersion = '2.4.0'; /* eslint-enable */ diff --git a/src/getInitialSettings.js b/src/getInitialSettings.js index 174c6424..5535158a 100644 --- a/src/getInitialSettings.js +++ b/src/getInitialSettings.js @@ -37,6 +37,7 @@ export function getInitialSettings() { const get = script ? script.getAttribute.bind(script) : function () { return null; }; + settings.autostart = get('data-autostart') === 'false' ? false : true; settings.url = get('data-url') || 'http://localhost:8000'; settings.transmitInterval = +get('data-interval') || 5000; @@ -51,6 +52,11 @@ export function getInitialSettings() { settings.sessionID = get('data-session') || sessionId; settings.authHeader = get('data-auth') || null; settings.custIndex = get('data-index') || null; + + if (settings.toolName === null || settings.toolName === "") { + throw "Please set the tool name before use."; + } + return settings; }