Skip to content
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

Added support for rendering in-app messages from Adobe Journey Optimizer #1029

Merged
merged 101 commits into from
Oct 27, 2023

Conversation

jasonwaters
Copy link
Collaborator

@jasonwaters jasonwaters commented Sep 6, 2023

Description

This PR adds support for In-app messages and message feed.

📺 Watch the demo!

Architecture docs

Sandbox demo pages

New dependencies

New components

  • Decisioning Engine Component

New schemas

New commands

  • evaluateRulesets
  • subscribeRulesetItems

new Configuration options

  • personalizationStorageEnabled

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Improvement (non-breaking change which does not add functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA or I'm an Adobe employee.
  • I have made any necessary test changes and all tests pass.
  • I have run the Sandbox successfully.

# Conflicts:
#	src/core/createEventManager.js
#	test/functional/specs/Visitor/C35448.js
# Conflicts:
#	src/core/createEventManager.js
# Conflicts:
#	src/components/DecisioningEngine/index.js
#	src/components/DecisioningEngine/utils.js
#	src/utils/debounce.js
#	test/unit/specs/components/DecisioningEngine/createContextProvider.spec.js
#	test/unit/specs/components/DecisioningEngine/utils.spec.js
Copy link
Contributor

@ninaceban ninaceban left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

createIframe can reuse utils/dom helpers to create a Node of type iFrame, this would simplify the logic in that file.

@shandilya3 shandilya3 mentioned this pull request Oct 17, 2023
12 tasks
jasonwaters and others added 8 commits October 18, 2023 09:44
# Conflicts:
#	src/components/Personalization/createApplyPropositions.js
#	src/components/Personalization/createComponent.js
#	src/components/Personalization/createPendingNotificationsHandler.js
#	src/components/Personalization/createViewChangeHandler.js
#	src/components/Personalization/event.js
#	src/components/Personalization/index.js
#	test/unit/specs/components/Personalization/createComponent.spec.js
#	test/unit/specs/components/Personalization/createPendingNotificationsHandler.spec.js
#	test/unit/specs/components/Personalization/createViewChangeHandler.spec.js
#	test/unit/specs/components/Personalization/topLevel/buildAlloy.js
* use existing Alloy DOM utils

* removed unused utils method

* renamed to "test:unit:debug"

* added a try/catch to  handle potential JSON parsing errors

* removed ensureSchemaBasedRulesetConsequences

* using shorthand object property notation

* new line

* constants shared between components moved to the shared src/constants module

* use alloy utils method includes

* use alloy utils method values, objectOf

* lint

* removeElementById for readability

---------

Co-authored-by: Jason Waters <[email protected]>
* support multi-subscription

* support multi-subscription

* remove mobile app fudge

* support distinct emissions for each subscription with conditions

* event.hasQuery()

* values()
# Conflicts:
#	src/components/DataCollector/index.js
#	src/components/Personalization/createComponent.js
#	src/components/Personalization/createOnClickHandler.js
#	src/components/Personalization/createViewCacheManager.js
#	src/components/Personalization/event.js
#	src/components/Personalization/index.js
#	src/core/createEventManager.js
#	test/unit/specs/components/DataCollector/index.spec.js
#	test/unit/specs/components/Personalization/createComponent.spec.js
#	test/unit/specs/components/Personalization/topLevel/buildAlloy.js
#	test/unit/specs/core/createEventManager.spec.js
* config flag to enable storage in localStorage

* based on consent set event registry

* tests

* for sandbox testing

* fix after test

* in-memory storage

* tests

* utils tests

* use setStorage only

---------

Co-authored-by: Jason Waters <[email protected]>
jasonwaters and others added 6 commits October 26, 2023 11:53
* few test

* few test

* few test

* fix test
* using selectNodes, isNonEmptyArray, isNonEmptyString utils

* using toArray

* using createRedirect

* using warning instead of error
@jasonwaters jasonwaters merged commit 23eb053 into main Oct 27, 2023
1 check passed
@jasonwaters jasonwaters deleted the in-browser-messages branch October 27, 2023 16:28
@jonsnyder jonsnyder changed the title In browser messages Added support for rendering in-app messages from Adobe Journey Optimizer Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants