Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.

Marketo forms list not loaded during authoring

Avatar

Level 9

as above. The drop-down list that supposed to list all the Marketo forms is empty. All I get is a message that says "Unable to load forms"

setup:

  • AEM 6.5.6
  • ACS commons 4.8.6 (release version) (in our AMS hosted environment) | 4.8.6 (release version),5.0.4 (release version), 5.0.5-snapshot and 5.0.7-snapshot (just downloaded yesterday via git clone) (in my local instance)

Things I did to setup Marketo in AEM:

  • I followed this guide => https://adobe-consulting-services.github.io/acs-aem-commons/features/marketo-form/index.html
  • Because I cannot added the embed built-in/core component directly, I had to create a new component and extend the embed component. My new component has this => sling:resourceSuperType = core/wcm/components/embed/v1/embed
  • I have created a Marketo config via Settings => Cloud services => Marketo. This created a new node/entry in /conf/myapp/settings/cloudconfigs/Marketo
  • I also have to setup the design mode configuration for my component (configuration located in /apps/settings/wcm/designs/myapp)
  • I looked at the logs and it seems the problem is the ACS-commons/Marketo class specifically (seems the class cannot see my config even if it's there)

from ACS-commons - MarketoFormDataSource class

 

MarketoClientConfigurationManager cfgMgr = request.adaptTo(MarketoClientConfigurationManager.class);
if (cfgMgr != null) {
config = cfgMgr.getConfiguration();
}
if (config == null) {
String msg = String.format("No Marketo configuration found for resource '%s'",
request.getRequestPathInfo().getSuffix());
throw new RepositoryException(msg);
}

 

--------------

from ACS-commons - MarketoClientConfigurationManagerImpl class (this class/function returns a null - i.e. cannot see my config)

 

return configRsrcRslvr.getResourceCollection(resource, "settings", "cloudconfigs").stream().filter(c -> {
boolean matches = "/apps/acs-commons/templates/utilities/marketocloudconfig"
.equals(c.getValueMap().get("jcr:content/cq:template", ""));
log.debug("Resource: {} matches: {}", c, matches);
return matches;
}).findFirst().map(c -> c.getChild(JcrConstants.JCR_CONTENT)).map(c -> c.adaptTo(MarketoClientConfiguration.class))
.orElse(null);
}

 

 

 

 

 

 

0 Replies