-
Notifications
You must be signed in to change notification settings - Fork 166
LG-8190: A/B Testing of Acuant SDK Upgrade #7392
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
Merged
Merged
Changes from all commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
f149c93
Initial commit of Acuant SDK a/b testing
6b5c1e9
Adding a/b test react context spec
8e3bd42
Fixing IdentityStore config typos
c3102b1
Adding test case to document capture step spec
7ff9ee7
Adding analytics method
c313395
Update config/initializers/ab_tests.rb
eric-gade ae046aa
Fixing lints
3afcaab
Merge branch 'eric-lg-8190' of github-tts:18F/identity-idp into eric-…
fea12c2
Adding acuant sdk ab test info to doc auth submitted tracking
3a34d28
Fixing lints
f032cf6
Fixing template variable issues
f9a4f79
Update app/views/idv/shared/_document_capture.html.erb
eric-gade b2192a1
Fixing image uploads spec to assume sdk ab testing is off
61ea1f1
Using suggested doc-capture pack version of trackEvent
71f6713
Switching acuant sdk frontend test to typescript
82b3bef
Fixing lints
df1b92c
Fixing sdkSrc and cameraSrc props 2b forced when present
6c1a5e1
Removing React Context for Acuant version A/B Test
24361ad
Fixing bad acuant camera path in template
4774b99
Fixing lints
9f7b4d4
Switching ab test to off by default
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we consider populating the context with the Acuant version, and using that as part of the analytics event, as well as in place of the constants in
acuant-sdk-upgrade-a-b-test.tsx? Or, maybe we don't even need an extra context provider, and can just useAcuantContextin the way it was designed to receive thesdkSrc?(Short on time to elaborate at the moment, but will follow-up with more detail on what I had in mind)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I was thinking is maybe the frontend would provide an SDK version if and only if A/B testing is enabled, and then that version (if given) is used to derive a source string to be given directly to the existing
AcuantContext, so that we don't need a new context, and so thatAcuantContextwouldn't require many (or any) additional changes.In
packs/document-capture.tsxThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. The one amendment I would suggest is to also have the actual
acuant_sdk_upgrade_a_b_testing_enabledvalue also be on the AppRoot, because this way we can specify the acuant version to use regardless of the AB test (ie, let's always specify a version to use). Otherwise we would have hard coded values for the version still present in the acuant contextThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just pushed 6c1a5e1 which should implement most of your suggestions, along with some minor differences.
To me the outstanding issues are -- as I mentioned in the commit message -- whether/where to store the version numbers as globally accessible values, and whether or not we track an event for when the acuant sdk successfully loads or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to access them anywhere else? If not, I don't think we'd need to do anything.
If we do, we can probably expose / access
AcuantConfig.acuantVersionwhich would give us the version detail after the script is loaded.What questions are we trying to answer with such an event? Are we concerned that the scripts might not load correctly?
Could we indirectly infer that from this event?
identity-idp/app/javascript/packages/document-capture/context/acuant.tsx
Lines 253 to 256 in 8c40e37
We could add the
AcuantConfig.acuantVersionin there if we wanted?Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah for sure, since we wrapped the default
trackEventin document capture and add all that extra information (in the pack). I am not so savvy on Cloudwatch queries so I don't know how much of a pain that is, however. If you think it's GTG let's just roll with it.I am only thinking of the version numbers present in the default paths of the AcuantContext provider here. All other version information is defined on the Rails side now.
But again, if you think this is GTG for the moment let's push on
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, right, I forgot we added it in the base
trackEvent, so it should be easy to distinguish in CloudWatch by e.g.filter properties.event_properties.acuant_version = '11.7.0', etc.