Epic #82703

Introduce doctrine/annotations to replace user defined annotations (mostly in Extbase)

Added by Alexander Schnitzler 12 months ago. Updated 14 days ago.

Status:
Under Review
Priority:
Should have
Category:
Extbase
Target version:
-
Start date:
2017-10-08
Due date:
% Done:

0%

Sprint Focus:

Description

Extbase's own annotation functionality is hardly maintained and has various critical issues (e.g. not allowing to import class names). Even Neos' Flow has migrated to doctrine/annotations. This packages' sole purpose is what we do with Extbase and the various ClassSchema / ReflectionService, but with people maintain and improving it.

As nobody stepped up in the past years to overcome issues and take ownership in this area, it is more than appropriate (taken the issues from above into account) to use the library and migrate our custom annotations to doctrine's schema. This also allows to use other frameworks by re-using the same patterns and not mix our custom annotation handling with doctrine's annotations.

In order to move forward, the first step is to integrate doctrine/annotations, and migrate our own annotations to the new structure, deprecating our own.

Once this is done, Extbase's code will be less cluttered, and we can overcome various caching issues as doctrine's caching does not work on a per-plugin basis as `extbase_object` does.


Related issues

Related to TYPO3 Core - Feature #82869: Replace @inject with @Extbase\Inject Resolved 2017-10-27
Related to TYPO3 Core - Feature #83078: Replace @lazy with @Extbase\ORM\Lazy Resolved 2017-11-24
Related to TYPO3 Core - Feature #83092: Replace @transient with @Extbase\ORM\Transient Resolved 2017-11-25
Related to TYPO3 Core - Feature #83093: Replace @cascade with @Extbase\ORM\Cascade Resolved 2017-11-25
Related to TYPO3 Core - Feature #83094: Replace @ignorevalidation with @Extbase\IgnoreValidation Resolved 2017-11-25
Related to TYPO3 Core - Feature #83167: Replace @validate with @Extbase\Validate Resolved 2017-11-29
Related to TYPO3 Core - Task #83255: Deprecation notices from ClassSchema.php should contain offending class name Resolved 2017-12-07
Related to TYPO3 Core - Bug #83425: Custom validators Resolved 2017-12-25
Related to TYPO3 Core - Task #83520: Use @TYPO3\CMS\Extbase\Annotation\ORM\Lazy in core extensions Resolved 2018-01-09
Related to TYPO3 Core - Task #83521: Use @TYPO3\CMS\Extbase\Annotation\ORM\Cascade in core extensions Resolved 2018-01-09
Related to TYPO3 Core - Task #83522: Use @TYPO3\CMS\Extbase\Annotation\Inject in core extensions Resolved 2018-01-09
Related to TYPO3 Core - Task #85977: Deprecate @cli annotation Resolved 2018-08-25
Related to TYPO3 Core - Task #85980: Deprecate @internal annotation in extbase commands Resolved 2018-08-25
Related to TYPO3 Core - Task #85981: Deprecate @flushesCaches annotation Under Review 2018-08-25

History

#1 Updated by Gerrit Code Review 12 months ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#2 Updated by Gerrit Code Review 12 months ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#3 Updated by Gerrit Code Review 12 months ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#4 Updated by Gerrit Code Review 12 months ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#5 Updated by Gerrit Code Review 11 months ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#6 Updated by Gerrit Code Review 11 months ago

Patch set 6 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#7 Updated by Gerrit Code Review 11 months ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#8 Updated by Gerrit Code Review 11 months ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#9 Updated by Gerrit Code Review 11 months ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#10 Updated by Gerrit Code Review 11 months ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#11 Updated by Alexander Schnitzler 11 months ago

  • Tracker changed from Feature to Epic
  • Target version set to 9.0

#12 Updated by Alexander Schnitzler 11 months ago

  • Related to Feature #82869: Replace @inject with @Extbase\Inject added

#13 Updated by Gerrit Code Review 11 months ago

Patch set 11 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#14 Updated by Gerrit Code Review 11 months ago

Patch set 12 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/54327

#15 Updated by Alexander Schnitzler 10 months ago

  • Blocked by Feature #83078: Replace @lazy with @Extbase\ORM\Lazy added

#16 Updated by Alexander Schnitzler 10 months ago

  • Blocked by deleted (Feature #83078: Replace @lazy with @Extbase\ORM\Lazy)

#17 Updated by Alexander Schnitzler 10 months ago

  • Related to Feature #83078: Replace @lazy with @Extbase\ORM\Lazy added

#18 Updated by Alexander Schnitzler 10 months ago

  • Related to Feature #83091: Replace @validate with @Extbase\Validator\Constraints added

#19 Updated by Alexander Schnitzler 10 months ago

  • Related to Feature #83092: Replace @transient with @Extbase\ORM\Transient added

#20 Updated by Alexander Schnitzler 10 months ago

  • Related to Feature #83093: Replace @cascade with @Extbase\ORM\Cascade added

#21 Updated by Alexander Schnitzler 10 months ago

  • Related to Feature #83094: Replace @ignorevalidation with @Extbase\IgnoreValidation added

#22 Updated by Alexander Schnitzler 10 months ago

  • Related to Feature #83167: Replace @validate with @Extbase\Validate added

#23 Updated by Alexander Schnitzler 10 months ago

  • Related to deleted (Feature #83091: Replace @validate with @Extbase\Validator\Constraints)

#24 Updated by Tymoteusz Motylewski 10 months ago

  • Related to Task #83255: Deprecation notices from ClassSchema.php should contain offending class name added

#25 Updated by Georg Ringer 9 months ago

#26 Updated by Alexander Schnitzler 8 months ago

  • Related to Task #83520: Use @TYPO3\CMS\Extbase\Annotation\ORM\Lazy in core extensions added

#27 Updated by Alexander Schnitzler 8 months ago

  • Related to Task #83521: Use @TYPO3\CMS\Extbase\Annotation\ORM\Cascade in core extensions added

#28 Updated by Alexander Schnitzler 8 months ago

  • Related to Task #83522: Use @TYPO3\CMS\Extbase\Annotation\Inject in core extensions added

#29 Updated by Susanne Moog 8 months ago

  • Category set to Extbase

#30 Updated by Susanne Moog 8 months ago

  • Target version changed from 9.0 to 9 LTS

#31 Updated by Alexander Schnitzler 26 days ago

  • Related to Task #85977: Deprecate @cli annotation added

#32 Updated by Alexander Schnitzler 26 days ago

  • Related to Task #85980: Deprecate @internal annotation in extbase commands added

#33 Updated by Alexander Schnitzler 26 days ago

  • Related to Task #85981: Deprecate @flushesCaches annotation added

#34 Updated by Benni Mack 24 days ago

  • Description updated (diff)

#35 Updated by Susanne Moog 14 days ago

  • Target version deleted (9 LTS)

Also available in: Atom PDF