blotoutio / sdk-js Goto Github PK
View Code? Open in Web Editor NEWJavascript SDK for Blotout
Home Page: https://blotout.io
License: MIT License
Javascript SDK for Blotout
Home Page: https://blotout.io
License: MIT License
We are getting error if you hover over svg events-logger.js?2efc:1 Uncaught TypeError: e.className.split is not a function
Code should be split in two packages.
we are getting duplicate events in the system. This could be related to our retry logic.
trends('consent', options)
options |
Object |
This is key/values pair object where key is provider/category for example facebook and value is boolean. true if user consents for data to be send to facebook and false if they do not |
trends('consent', {
facebook: true,
google: false
})
Another way to use this api is based on categories.
trends('consent', {
analytics: false,
advertising: true
})
User can also just enable everything
trends('consent', {
all: true
})
If event is codified we shouldn't send evcs anymore. Generation should happen on server side
Right now we just package the whole thing on npm. We should add support for different modules types, so that people can use it as npm module directly: cjs, es, esm, modules, umd, etc
Add two events that will be triggered based on visibilitychange
. Because we have this event now we can remove pagehide
.
Name: visibility_visible
Event code: 11131
Name: visibility_hidden
Event code: 11132
In case on one client deployment, session_id was found null.
Check Slack conversation for more details.
We need to put in meta object new property page_title
, which will have value document.title
.
We should send system event click
as beacon, to be more reliable with capturing.
Some time user created time is null, so we need to make it more bullet proof
trends('capturePersonal', eventName, [additionalData], [isPHI], [options])
System events now don't have boolean in manifest anymore, but are defined as an array. Client side needs to handle new type in manifest.
In our code right now we use data, eventData and additionalData for the same thing. This should be unified so that it's easier to read the code.
Right now events are having different structure. We should unify it and only have one prop additionalInfo where we would put things that are event specific.
In some cases user ID is still null.
We should allow users to put additionalData in pageView, so they can send custom data with sdk_start and page_hide.
Enabled api would allow developer to enable/disable collection at any point.
Right now release action is failing on publishing personal event because dep is not defined correctly. We need to use npm run bootstrap
at the beginning to build all packages and do internal linking, so that we can publish all at once and not have dependency to npm.
We also need as part of version bump update package.json deps to blotout packages in sdk-personal and sdk-browser
deviceInfoGrain
will not be needed anymore as server side will now do UA parsing, so logic for this can be removed
SDK should be able to capture DOM obj - complete path when nested.
Object Title use cases:
SDK should be able to capture DOM object title as :
Current Behaviour:
Also ALT text from images should be default choice for title if present after link.
Slack icon I was hovering when this event was sent - but I can't know.
Also let's set as recommendation in our documentation that ALT should be present for better analysis then link if ALT is not needed.
We should allow users to send multiple events at once to save bandwidth
When we send pageView we send two events at the same time. Because of that Date.now()
is the same for them so mid is the same. We should use performance.now()
instead of Date.now().
Create API where user can define additional data that will be sent with every event. User can define if this data will be sent out with regular events, dev events or both. This should be stored in local storage per type.
defaultEventData(type, data)
type: 'system', 'codified', 'pii', 'phi'
data: object
We should pass the whole UA in meta. Key should be user_agent
This will be calculated on server based on plf
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.