adobe / aem-core-wcm-components

Standardized components to build websites with AEM.
https://docs.adobe.com/content/help/en/experience-manager-core-components/using/introduction.html
Apache License 2.0
730 stars 736 forks source link

[Form] Marketo Embed #808

Closed klcodanr closed 4 years ago

klcodanr commented 4 years ago

Feature Request

Is your feature request related to a problem? Please describe. It would be a nice feature to be able to easily embed Marketo forms into AEM pages.

Describe the solution you'd like The solution would leverage the Marketo Forms JavaScript API to embed forms. Ideally, it would not require the author to use JavaScript directly, but instead, allow the user to select from a list of forms. Additional helpful hooks include the ability to set field values, add hidden fields and provide custom JS code.

Are there alternatives? Using the HTML block in the embed component. Creating a separate Marketo Forms Component.

Documentation

Purpose

Easily add Marketo forms into Adobe Experience Manager pages.

Setup

Configure the AEM Marketo Form feature via a Cloud Service Configuration.

  1. Navigate to Tools > Cloud Services and Select Marketo Marketo Cloud Configuration
  2. Add a new cloud service configuration or click on an existing one to open the configuration editor screen Marketo Cloud Configuration Screen. Ensure the cloud configuration is created in your site's Conf root
  3. Fill out and save the cloud configuration with the account details, including:
    • REST Endpoint Host - found in Marketo under Admin >> Integration >> Web Services, do not include the protocol (e.g. https) or the path e.g. (/rest)
    • Marketo Server Instance - The URL you use to access Marketo, starting with // and without a path
    • Munchkin Account ID - Found in Marketo under Admin >> Integration >> Munchkin, three sets of characters separated by dashes
    • Client ID - Found in Marketo under Admin >> Integration >> LaunchPoint, a UUID
    • Client Secret - Found in Marketo under Admin >> Integration >> LaunchPoint, another UUID
  4. Enable the Marketo Form embed as an embeddable

Using the Component

Once the component is available for use, simply add an embed to the page, select the "Marketo" option and configure the component to your needs.

Configuring the AEM Marketo Form Component

See the Marketo JavaScript Forms API for more details on how to configure the Marketo Forms component.

There are three tabs of configuration for the Marketo Form component:

General

The general tab has the most basic settings.

Marketo Form Component General Tab

Values

Allows for setting the form values dynamically

Marketo Form Component Values Tab

Advanced

Allows you to write custom JavaScript to configure the form behavior, will have access to a variable 'form'

Marketo Form Component Advanced Tab

msagolj commented 4 years ago

See comment in PR #809 :

@klcodanr this pull request includes the same files/depends on PR #807 (New Feature: Cloud Config Template / Framework) which was closed as its outside of the scope of this project. So i will close this one as well.

Your proposed PR's look like a proper Marketo Integration into AEM, which happens to have a dependency to core components because its using its embed component feature.

To me this merits to be either:

  1. added as a product feature to AEM or
  2. should be provided as a separate open source project that customers can download an install to set up a Marketo integration.
gabrielwalt commented 4 years ago

Hi @klcodanr, I'm reopening this as we are planning to create a contrib repository for such contributions to the Core Components. We still need to define how that will work exactly, stay tuned.

vladbailescu commented 4 years ago

This was merged in https://github.com/Adobe-Consulting-Services/acs-aem-commons/pull/2064