neos-development-collection icon indicating copy to clipboard operation
neos-development-collection copied to clipboard

FEATURE: Fusion eel neos deprecation tracer

Open mhsdesign opened this issue 1 year ago • 1 comments

Requires: https://github.com/neos/flow-development-collection/pull/3386

Related: https://github.com/neos/neos-development-collection/issues/4208 Related: https://github.com/neos/neos-development-collection/issues/5022

Will by default log as "DEBUG" in development context hints if we use deprecated node field access:

24-09-24 18:39:26 97069      DEBUG                          The Node field "label" is deprecated in "${q(site).property('titleOverride') || site.label}"
24-09-24 18:39:26 97069      DEBUG                          The Node field "label" is deprecated in "${item.label}"
24-09-24 18:39:26 97069      DEBUG                          The Node field "identifier" is deprecated in "${node.identifier}"

Upgrade instructions

Review instructions

Checklist

  • [ ] Code follows the PSR-2 coding style
  • [ ] Tests have been created, run and adjusted as needed
  • [ ] The PR is created against the lowest maintained branch
  • [ ] Reviewer - PR Title is brief but complete and starts with FEATURE|TASK|BUGFIX
  • [ ] Reviewer - The first section explains the change briefly for change-logs
  • [ ] Reviewer - Breaking Changes are marked with !!! and have upgrade-instructions

mhsdesign avatar Sep 24 '24 18:09 mhsdesign

lol

image

crydotsnake avatar Oct 17 '24 08:10 crydotsnake

Tests are failing. Maybe a rebase is needed.

dlubitz avatar Oct 29 '24 18:10 dlubitz

Test are always failing on 8.4 :D ...

but you got a point regarding noes 8.4 vs 9.0 .... currently it doesnt look like well have replacements yet and maybe we should only log deprecations then if there is a replacement.... will retarget this pr for 9.0 and down merge that later ggf.

mhsdesign avatar Oct 29 '24 19:10 mhsdesign

@Sebobo and me re-evaluated today if we want to backport this for the 8.4 release but we decided that it would be of no gain for our users.

Following problems make the logs invaluable and impractical for Neos 8.x:

  • we have no idea in the fusion runtime where the eel expression was defined as this information is not preserved
  • we have not migrated our Neos.Neos package to use non deprecated apis - this is not even possible for all cases. The log is thus already swamped with logs from Neos where users have no influence.
  • we would need to adjust Neos.Neos as good as possible and also other packages like Neos.Seo and give them a minor release which will be lots of work.
  • we could store the information where the eel expression was defined - topic source maps in fusion - and thus ignore all logs from "Neos.*" -> but users are in the end faced with the same problem we have and will not be able to migrate all cases like node.context.dimensions already to non deprecated syntax as 8.4 lacks the replacements.

While it might be easy for a simple page to satisfy the log - a complex site has no chance to become fully 9.0 compatible and especially not with the mentioned problems above. Thus we will not backport this feature - and thus preventing to swamp our users logs;)

mhsdesign avatar Oct 09 '25 09:10 mhsdesign