-
Notifications
You must be signed in to change notification settings - Fork 607
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
MCP report is blank on ACS commons version 5.2.0 on ACS 2022.4.7138 #2837
Comments
I can't reproduce it on my local "2022.4.7138" + ACS Commons v5.2.0. I also tried with 5.3.1-SNAPSHOT which is also working fine. Going by the exception, the report has no columns. Can you please confirm it? The exception message contains the path of report node,e.g. Does it have the columns property ? Please provide the full json dump of the MCP instance. Also, are you running the report as an admin ?I wonder if it matters. |
Thanks Yegor for looking into this issue. Please find below the info related to your questions and more details.
After raising the bug, I did more analysis and found :
After this the report stops loading. It seems to me that the sling model "com.adobe.acs.commons.mcp.model.GenericBlobReport" in "/apps/acs-commons/components/utilities/process-instance/process-blob-report/process-blob-report.html" doesn't load. on the rendered HTML, thead or tbody is blank. |
It's a bug in the Forms SDK. I traced it down to
The simplest test case that demonstrates the issue: @Model(adaptables = Resource.class)
public class UserModel {
@Inject
private List<String> columns; // BUG: multi-valued fields won't be injected
@Inject
private String name; // single-value fields are injected fine
} and this is exactly what's happening with the ACS Commons report models: they can't initialize columns which are stored in a String[] field. Injectors in Sling Models are pluggable and when injecting a value into a model, AEM iterates over all registered injectors until one returns a non-null value. |
We can switch to injector-specific annotations in the ACS AEM Commons models to prevent the wrong injector from kicking in. |
Thanks Yegor and kwin for quick reply. @kwin, could you please provide an example on how to switch to "Injector-specific annotations"? This issue is breaking many features in our project. I will try and see if this can be fixed with this approach. |
I raised a ticket with Adobe regarding this issue. Thanks. |
…prevent the wrong injector from kicking in.
Thanks Yegor and Kevin. Any idea on the date when this would be released? |
…r from kicking in (#2846) Co-authored-by: david g <[email protected]>
This issue is fixed in latest AEM version 2022.5.7575. |
Required Information
ACS AEM Commons Version: 2022.4.7138, same works on feature works on ACS version 2022.1.6198 with ACS commons version 5.2.0/5.3.0
MCP_report_error_log.txt
Reproducible on Latest? Yes
Expected Behavior
After running the MCP program, when generating the report in HTML/excel it should generate/print report in/to excel/page.
Actual Behavior
After running the MCP program, when generating the report in HTML we see a blank page and when generating the report in excel, we get a 500 error.
Steps to Reproduce
This issue can be seen in "Asset Report" feature as well.
Installed ACS AEM SDK version "2022.4.7138" and installed ACS commons version 5.2.0. Run any utility which generates reports based on "/apps/acs-commons/components/utilities/process-instance/process-generic-report" component. We can either view the report in HTML or download the report in excel. Currently, the HTML is blank and throws 500 error while downloading the excel. Attached the error log "MCP_report_error_log.txt" for reference.
The same features are working fine in ACS AEM version "2022.1.6198".
MCP_report_error_log.txt
Links
/apps/acs-commons/content/manage-controlled-processes.html
/apps/acs-commons/components/utilities/process-instance/process-generic-report
The text was updated successfully, but these errors were encountered: