acs-aem-commons icon indicating copy to clipboard operation
acs-aem-commons copied to clipboard

issue #2960 shared-component-properties add support for lazy bindings

Open adamcin opened this issue 3 years ago • 4 comments

This is a hack approach to resolving #2960 in a way that doesn't force a significant change in the supported AEM version.

NOTE: Please see #2964 for non-hacky approach (against the 6.0.0 branch) that bumps the minimum AEM version to 6.5.7 and uses LazyBindings types properly.

Yet to be tested in AEM 6.4, 6.5 < SP7, 6.5 >= SP7, and Cloud Service.

The benefits of this approach:

  1. Should significantly improve page rendering performance in more recent versions of AEM 6.5 and Cloud Service where SCP is enabled.
  2. Avoids a rather drastic increase of the minimum supported AEM version for SCP from 6.4.0 to 6.5.7.
  3. Uses of reflection should be easy to prune without major refactoring when the minimum supported version of the project is raised past 6.5.7.

adamcin avatar Oct 08 '22 01:10 adamcin

Codecov Report

Merging #2962 (b560d2a) into master (b881c90) will increase coverage by 0.05%. The diff coverage is 83.33%.

@@             Coverage Diff              @@
##             master    #2962      +/-   ##
============================================
+ Coverage     54.29%   54.34%   +0.05%     
- Complexity     5635     5660      +25     
============================================
  Files           756      756              
  Lines         30838    30895      +57     
  Branches       3984     3983       -1     
============================================
+ Hits          16744    16791      +47     
- Misses        12542    12549       +7     
- Partials       1552     1555       +3     
Impacted Files Coverage Δ
...aredComponentPropertiesBindingsValuesProvider.java 75.96% <82.05%> (+7.21%) :arrow_up:
...ties/shared/impl/SharedPropertiesRequestCache.java 94.11% <100.00%> (+0.36%) :arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov[bot] avatar Oct 08 '22 01:10 codecov[bot]

Ready for review. @davidjgonzalez @HitmanInWis @joerghoh

adamcin avatar Oct 08 '22 19:10 adamcin

This is a real hack[TM].

@adamcin I appreciate the effort you put into this PR to make it somehow work, but I am not sure if this is worth the effort. Maybe we should just wait until ACS AEM Commons drops support for older versions of AEM than AEM 6.5 SP7?

@davidjgonzalez Any plans to cut the support older SPs?

joerghoh avatar Oct 09 '22 08:10 joerghoh

I would suggest requiring 6.5.x for ACS AEM Commons 6

kwin avatar Oct 09 '22 08:10 kwin

@joerghoh @kwin im all on board with 6.5.x+ for AEM 6.0.0 ... i wouldnt even be adverse to specifying a higher level SP if it provides us more flexibility. One that that comes to mind is if AEM 6.5.x started supporting OSGi R7, which IIRC would let us move fully off Felix SCR without breaking OSGi properties that have - in them (which would be a big back-breaking change for alot of those older services). Havent taken the time to dig into R7 with AEM 6.5 tho to understand where that sits.

davidjgonzalez avatar Oct 21 '22 17:10 davidjgonzalez