Bug #59147

Wrong extension precedence in TYPO3 6.2

Added by Nils Blattner over 5 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
System/Bootstrap/Configuration
Target version:
Start date:
2014-05-27
Due date:
% Done:

100%

TYPO3 Version:
6.2
PHP Version:
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

When an extension is installed locally in typo3conf/ext/ it should always take precedence over a system extension from typo3/sysext/.
This was the case in the last LTS and is still documented like that here:
http://docs.typo3.org/TYPO3/CoreApiReference/ExtensionArchitecture/SystemGlobalAndLocalExtensions/Index.html

However in 6.2.3 this is not the case. When I try to install t3skin locally and open the extension manager, it reverts to the system extension always.

I tracked this behaviour down to typo3/sysext/core/Classes/Package/PackageManager.php.
The reason are lines 85-90. Because they are used to iterate the extension paths, the typo3conf/ext/ path is found first and typo3/sysext/ last. When the found extension paths are traversed, naturally the latter overwrites the first, leaving the system extension active always. And since the extension manager aggressively tries to save the PackageStates (which is a good thing), the system extension is active again after I open the extension manager.

Patch will be attached.

bug_59147.diff View (1.02 KB) Nils Blattner, 2014-05-27 17:10


Related issues

Related to TYPO3 Core - Bug #55646: Framework Packages aren't sorted properly if package is overriten in typo3conf/ext Closed 2014-02-04
Precedes TYPO3 Core - Bug #59831: Package loading order is currupted by faulty patch #59147 Closed 2014-06-24

Associated revisions

Revision 49b53d49 (diff)
Added by Markus Klein over 5 years ago

[BUGFIX] Fix loading order for extensions

Stick to the documented loading order of extensions.
That means following this order: sysext, global, local, composer

The same extension found in the latter will be loaded instead of
the former. Also adjust the Dependency resolver accordingly for the
edge-case of overwriting sysexts.

Resolves: #59147
Releases: 6.3, 6.2
Change-Id: I50c7849e32b309a28f792340f3ff892e516dadb8
Reviewed-on: https://review.typo3.org/30449
Reviewed-by: Susanne Moog
Tested-by: Susanne Moog
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Reviewed-by: Markus Klein
Tested-by: Markus Klein

Revision c0779513 (diff)
Added by Markus Klein over 5 years ago

[BUGFIX] Fix loading order for extensions

Stick to the documented loading order of extensions.
That means following this order: sysext, global, local, composer

The same extension found in the latter will be loaded instead of
the former. Also adjust the Dependency resolver accordingly for the
edge-case of overwriting sysexts.

Resolves: #59147
Releases: 6.3, 6.2
Change-Id: I50c7849e32b309a28f792340f3ff892e516dadb8
Reviewed-on: https://review.typo3.org/31021
Reviewed-by: Markus Klein
Tested-by: Markus Klein

Revision 17408213 (diff)
Added by Nicole Cordes over 4 years ago

[TASK] Add extension precedence

This patch re-adds the possibility to overwrite system or global
extensions with local ones from typoconf/ext.

Releases: master, 6.2
Resolves: #59147
Change-Id: I1f01677791db26d2be4e70c0a81d96e42ca5147c
Reviewed-on: http://review.typo3.org/39151
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>
Reviewed-by: Helmut Hummel <>
Tested-by: Helmut Hummel <>

Revision c70f3d8d (diff)
Added by Nicole Cordes over 4 years ago

[TASK] Add extension precedence

This patch re-adds the possibility to overwrite system or global
extensions with local ones from typoconf/ext.

Releases: master, 6.2
Resolves: #59147
Change-Id: I1f01677791db26d2be4e70c0a81d96e42ca5147c
Reviewed-on: http://review.typo3.org/39219
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>

Revision e9bbe7f2 (diff)
Added by Helmut Hummel over 4 years ago

[FOLLOWUP][BUGFIX] Add extension precedence

Before calling TYPO3 package methods, we must ensure
we have the correct instance.

All active composer packages are instance of the Flow package class
which does not implement the methods
isPartOfFactoryDefault or isPartOfMinimalUsableSystem

Resolves: #66955
Related: #59147
Releases: master, 6.2
Change-Id: I5f08cce5e4b0329927d6a302d643f680822e4ad6
Reviewed-on: http://review.typo3.org/39543
Reviewed-by: Nicole Cordes <>
Tested-by: Nicole Cordes <>

Revision 2362c1bc (diff)
Added by Helmut Hummel over 4 years ago

[FOLLOWUP][BUGFIX] Add extension precedence

Before calling TYPO3 package methods, we must ensure
we have the correct instance.

All active composer packages are instance of the Flow package class
which does not implement the methods
isPartOfFactoryDefault or isPartOfMinimalUsableSystem

Resolves: #66955
Related: #59147
Releases: master, 6.2
Change-Id: I5f08cce5e4b0329927d6a302d643f680822e4ad6
Reviewed-on: http://review.typo3.org/39544
Reviewed-by: Helmut Hummel <>
Tested-by: Helmut Hummel <>

History

#1 Updated by Nils Blattner over 5 years ago

#2 Updated by Gerrit Code Review over 5 years 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/30449

#3 Updated by Gerrit Code Review over 5 years 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/30449

#4 Updated by Gerrit Code Review over 5 years 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/30449

#5 Updated by Gerrit Code Review over 5 years 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/30449

#6 Updated by Gerrit Code Review over 5 years 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/30449

#7 Updated by Gerrit Code Review over 5 years 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/30449

#8 Updated by Gerrit Code Review over 5 years ago

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

#9 Updated by Markus Klein over 5 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#10 Updated by Markus Klein over 5 years ago

  • Status changed from Resolved to Accepted

Patches reverted by #59831.

We need to rethink the solution again, since we need the packagePathStack also when removing extensions, but that information is not persisted, hence it is missing in this case.

#11 Updated by Markus Klein about 5 years ago

  • % Done changed from 100 to 30

#12 Updated by Caspar Stuebs about 5 years ago

Hi all

imo the extension precedence is independent from the other stuff. At this moment only the system extension is respected. If the order is changed, only the local extension is respected.

The question how to respect the same extension in different places are another bug and should go into another ticket.

Kind Regards.
Caspar

#13 Updated by Mathias Schreiber almost 5 years ago

  • Assignee set to Thomas Maroschik

Hey Tom,

get back to me when you're back from vacation, please.

#14 Updated by Nicole Cordes over 4 years ago

  • Assignee deleted (Thomas Maroschik)
  • Target version set to 7.3 (Packages)
  • Sprint Focus set to On Location Sprint

#15 Updated by Kasper Ligaard over 4 years ago

This issue is a regression, and should be marked as such.

#16 Updated by Gerrit Code Review over 4 years ago

  • Status changed from Accepted 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 http://review.typo3.org/39151

#17 Updated by Gerrit Code Review over 4 years ago

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

#18 Updated by Gerrit Code Review over 4 years ago

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

#19 Updated by Gerrit Code Review over 4 years ago

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

#20 Updated by Gerrit Code Review over 4 years ago

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

#21 Updated by Gerrit Code Review over 4 years ago

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

#22 Updated by Gerrit Code Review over 4 years ago

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

#23 Updated by Gerrit Code Review over 4 years ago

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

#24 Updated by Gerrit Code Review over 4 years ago

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

#25 Updated by Gerrit Code Review over 4 years ago

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

#26 Updated by Nicole Cordes over 4 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 30 to 100

#27 Updated by Gerrit Code Review over 4 years ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch TYPO3_6-2 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/39219

#28 Updated by Nicole Cordes over 4 years ago

  • Status changed from Under Review to Resolved

#29 Updated by Anja Leichsenring almost 4 years ago

  • Sprint Focus deleted (On Location Sprint)

#30 Updated by Riccardo De Contardi almost 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF