Bug #59147
Wrong extension precedence in TYPO3 6.2
Status: | Resolved | Start date: | 2014-05-27 | |
---|---|---|---|---|
Priority: | Must have | Due date: | ||
Assigned To: | - | % Done: | 100% |
|
Category: | Package Manager | Spent time: | - | |
Target version: | 7.3 (Packages) | |||
TYPO3 Version: | 6.2 | Is Regression: | No | |
PHP Version: | Sprint Focus: | On Location Sprint | ||
Complexity: |
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.
Related issues
Associated revisions
[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
[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
[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 <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
Reviewed-by: Helmut Hummel <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
[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 <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
[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 <typo3@cordes.co>
Tested-by: Nicole Cordes <typo3@cordes.co>
[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 <helmut.hummel@typo3.org>
Tested-by: Helmut Hummel <helmut.hummel@typo3.org>
History
#1 Updated by Nils Blattner about 1 year ago
- File bug_59147.diff
added
#2 Updated by Gerrit Code Review about 1 year 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 about 1 year 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 about 1 year 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 about 1 year 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 about 1 year 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 about 1 year 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 about 1 year 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 about 1 year ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset c0779513b431b19413873893bf630aa3de6fc1fc.
#10 Updated by Markus Klein about 1 year 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 1 year ago
- % Done changed from 100 to 30
#12 Updated by Caspar Stuebs 10 months 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 8 months ago
- Assigned To set to Thomas Maroschik
Hey Tom,
get back to me when you're back from vacation, please.
#14 Updated by Nicole Cordes 4 months ago
- Assigned To deleted (
Thomas Maroschik) - Target version set to 7.3 (Packages)
- Sprint Focus set to On Location Sprint
#15 Updated by Kasper Ligaard 4 months ago
This issue is a regression, and should be marked as such.
#16 Updated by Gerrit Code Review 3 months 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 3 months 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 3 months 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 3 months 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 3 months 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 3 months 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 3 months 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 3 months 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 3 months 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 3 months 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 3 months ago
- Status changed from Under Review to Resolved
- % Done changed from 30 to 100
Applied in changeset 174082131c9147be088c36042fba8e68c02c913e.
#27 Updated by Gerrit Code Review 3 months 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 3 months ago
- Status changed from Under Review to Resolved
Applied in changeset c70f3d8d278489e91d014dd5859381754778bc75.