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);
}