Adobe-Consulting-Services / acs-aem-commons

http://adobe-consulting-services.github.io/acs-aem-commons/
Apache License 2.0
453 stars 597 forks source link

MCP Page is loading blank when com.icfolson.aem.library or groovy-all are present in AEM #3191

Open shahp1 opened 11 months ago

shahp1 commented 11 months ago

Required Information

Expected Behavior

MCP Page should load with list of process instances and if any new process is started it should notify for completion.

Actual Behavior

MCP page is loading blank currently. Process instances are not loading. We have observed when AEM Library models dependency is added the processes stop loading on MCP Page. I have tried updating ACS Commons version to latest version still the same behavior in presence of AEM Library dependency which is currently is being used for

Steps to Reproduce

  1. On Local Instance with AEM version 6.5.15, Deploy ACS Commons 5.0.4 or latest version of it.
  2. Manually upload the below jars in Bundles in AEM Systems Console from path 1.https://mvnrepository.com/artifact/com.icfolson.aem.library Version - 12.0.0 aem-library-api aem-library-core aem-library-models 2.https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all Version - 2.4.15 groovy-all

We are getting below error while loading MCP Page: image

Without these jars, MCP Page loads fine with process instances but post installation of these jars, page is not loading any process. These jars are being used as dependencies in custom files.

Attached the Error log file. errorlog.txt

davidjgonzalez commented 10 months ago

I dont know what these libraries do and why they would break unrelated behavior. Can you provide more color on what these are? Im not sure why they would be triggering a close of the JCR Session. Do you know if they have some code that tries to clean up unclosed sessions perhaps?

Can you narrow down exactly which JARs are causing the problem?

shahp1 commented 10 months ago

Hi David,

These library provides decorators, common utilities and Sling Model Injectors which are currently being used for Custom files. Seems like it is not able to resolve ValueMap as requestInputs as shown in above screenshot is of type ValueMap. Any particular Injector from aem-library-models taking precedence and further not able to resolve.

If we keep aem-library-models jar in resolved state, then page loads with all process instances. So this jar seems to be causing issue. Also if we try adding logger in Debug mode for com.icfolson.aem.library.models.impl.ComponentInjector in that case too it loads the MCP Page with all process instances. But we cannot follow this approach due to performance impact. Let me know if any other details required.

davidjgonzalez commented 10 months ago

Ah! Sounds like these libraries are breaking something in the JSON export contract in AEM. I suggest logging an issue on those projects as MCP works w vanilla AEM.