-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce experimental UI Events #1899
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rdig
commented
Feb 14, 2024
rdig
commented
Feb 14, 2024
rdig
commented
Feb 14, 2024
rdig
force-pushed
the
experimental/ui-events
branch
from
February 14, 2024 14:55
ca92aaa
to
a2b11bb
Compare
rdig
force-pushed
the
experimental/ui-events
branch
from
February 15, 2024 15:54
d952acf
to
3a2c8c3
Compare
rdig
changed the title
Introduce experimental UI Events
Introduce ~~experimental~~ UI Events
Feb 15, 2024
rdig
changed the title
Introduce ~~experimental~~ UI Events
Introduce experimental UI Events
Feb 15, 2024
As an update to what's going on here, we're waiting for a decision regarding which consent manager plugin / library / service to use |
Closing as we used a different direction on how we handle user traces, hence the work here is no longer relevant. However the concepts here still apply and might be salvaged later down the line. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Brief
The aim of this feature is offer marketing and growth personnel the ability to glimpse into the patterns and behaviors of the CDapp users and gain insight into the way they are actually using the application, and to use that gained knowledge to drive better informed feature development.
In order to achieve that we decided on the use of a data warehousing service, Segment in this case.
Within the CDapp we introduced the notion of "UI Events" by which we mean events, emitted by users in the context of the UI of the CDapp. Basically clicks, menus, dropdowns, various action triggers, success states.
Since we don't store (or ar making strides toward not storing) API or secret keys on the client we make use of the colonyCDappAuthProxy to act as a man-in-the-middle for our various requests to the Segment service.
Architecture
Architecture setup for this implementation is quite strait forward, the CDapp, upon emitting a new UI event will POST the event's payload to the auth proxy, which will in turn forward said payload Segment's endpoint.
Due to it's double blind nature, a
200
status code will always be received by the client, even if Segment's endpoint is down, or has trouble processing the request.Before any UI events can emitted though, the
UIEvents
class instance needs to be initialized (loaded), by which we mean, it needs to make an initial request to Segment's services (which is still proxied via the auth proxy, were we tack on the correct project id) and use the response data to set up the instance.UI Events and React Component Triggers
TBA
user
colony
emit
manageAccount
createAccount
updateAvatar
updateProfile
userJoinedColony
colonySwitcher
viewPage
openMenu
relatedAction
giveFeedback
openTeamsMenu
selectTeam
actionSidebarOpened
actionCreated
actionCreationSucceeded
Further reading:
Requests proxying and forwarding
TBA
/ui-events/v1/projects/*
/ui-events/v1/*
JoinColony/colonyCDappAuthProxy#12
Google Tag Manager
TBA
Testing
TBA
Miscellaneous
TBA