From 41126c795f89974baaef2205894d370047e7654c Mon Sep 17 00:00:00 2001 From: Denny Lubitz Date: Tue, 30 Jan 2024 20:14:31 +0100 Subject: [PATCH 01/20] BUGFIX: Allow dimension preset keys to be different from values for DimensionsMenu --- .../Classes/Fusion/DimensionsMenuItemsImplementation.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php b/Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php index 0bfa17b36c0..06a596e2785 100644 --- a/Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php +++ b/Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php @@ -77,7 +77,7 @@ protected function buildItems() foreach ($this->contentDimensionCombinator->getAllAllowedCombinations() as $allowedCombination) { $targetDimensions = $this->calculateTargetDimensionsForCombination($allowedCombination); - + $presets = $this->configurationContentDimensionPresetSource->findPresetsByTargetValues($allowedCombination); if ($pinnedDimensionName !== null && is_array($pinnedDimensionValues)) { if (!in_array($targetDimensions[$pinnedDimensionName], $pinnedDimensionValues)) { continue; @@ -105,13 +105,13 @@ protected function buildItems() } // determine metadata for target dimensions of node - array_walk($targetDimensions, static function (&$dimensionValue, $dimensionName, $allDimensionPresets) use ($pinnedDimensionName) { + array_walk($targetDimensions, function (&$dimensionValue, $dimensionName) use ($pinnedDimensionName, $presets) { $dimensionValue = [ 'value' => $dimensionValue, - 'label' => $allDimensionPresets[$dimensionName]['presets'][$dimensionValue]['label'], + 'label' => $presets[$dimensionName]['label'], 'isPinnedDimension' => $pinnedDimensionName === null || $dimensionName == $pinnedDimensionName ]; - }, $allDimensionPresets); + }); $menuItems[] = [ 'node' => $nodeInDimensions, From 7cfe27a25093f7f74b0caaabba740621cf8cb2a4 Mon Sep 17 00:00:00 2001 From: Denny Lubitz Date: Tue, 30 Jan 2024 20:23:30 +0100 Subject: [PATCH 02/20] BUGFIX: Allow dimension preset keys to be different from values for DimensionsMenu --- Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php b/Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php index 06a596e2785..2006ad2e61d 100644 --- a/Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php +++ b/Neos.Neos/Classes/Fusion/DimensionsMenuItemsImplementation.php @@ -105,7 +105,7 @@ protected function buildItems() } // determine metadata for target dimensions of node - array_walk($targetDimensions, function (&$dimensionValue, $dimensionName) use ($pinnedDimensionName, $presets) { + array_walk($targetDimensions, static function (&$dimensionValue, $dimensionName) use ($pinnedDimensionName, $presets) { $dimensionValue = [ 'value' => $dimensionValue, 'label' => $presets[$dimensionName]['label'], From ee83133bf08d638c9dfbdfd11d9eaec552ec196d Mon Sep 17 00:00:00 2001 From: Sebastian Helzle Date: Fri, 2 Feb 2024 11:12:11 +0100 Subject: [PATCH 03/20] BUGFIX: Search assets case-insensitive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This solves the problem that with Postgres the search was case-sensitive. Other database platforms didn’t have this issue as they ran case-insensitive comparisons by default. Resolves: #3432 --- Neos.Media/Classes/Domain/Repository/AssetRepository.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Neos.Media/Classes/Domain/Repository/AssetRepository.php b/Neos.Media/Classes/Domain/Repository/AssetRepository.php index 7489ef11d60..99605dc4a76 100644 --- a/Neos.Media/Classes/Domain/Repository/AssetRepository.php +++ b/Neos.Media/Classes/Domain/Repository/AssetRepository.php @@ -79,9 +79,9 @@ public function findBySearchTermOrTags($searchTerm, array $tags = [], AssetColle $query = $this->createQuery(); $constraints = [ - $query->like('title', '%' . $searchTerm . '%'), - $query->like('resource.filename', '%' . $searchTerm . '%'), - $query->like('caption', '%' . $searchTerm . '%') + $query->like('title', '%' . $searchTerm . '%', false), + $query->like('resource.filename', '%' . $searchTerm . '%', false), + $query->like('caption', '%' . $searchTerm . '%', false) ]; foreach ($tags as $tag) { $constraints[] = $query->contains('tags', $tag); From e17fdcab9c6f07bdb5ea87b9c388682949ae9940 Mon Sep 17 00:00:00 2001 From: Bastian Waidelich Date: Mon, 17 Apr 2023 16:50:07 +0200 Subject: [PATCH 04/20] BUGFIX: Allow non-entity asset variants Allow implementations of the `AssetVariantInterface` to not be doctrine entities. Without this fix, all `AssetRepository::find*()` calls lead to an exception when a class implements the interface but is not an entity (for example because it is just used to generate dummy images for Monocle). 1. Implement the interface with a new custom class like ```php final class DummyImageVariant implements AssetVariantInterface { // ... } ``` 2. Trigger `AssetRepository::find*()` method, eg. by invoking `./ flow media:removeunused` No error, the custom implementation should be ignored Exception: ``` Failure while fetching class schema class "Some\Package\DummyImageVariant": No class schema found for "Some\Package\DummyImageVariant". Type: Doctrine\ORM\Mapping\MappingException Code: 1542792708 File: Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Persist ence_Doctrine_Mapping_Driver_FlowAnnotationDriver.php Line: 187 ``` --- Neos.Media/Classes/Domain/Repository/AssetRepository.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Neos.Media/Classes/Domain/Repository/AssetRepository.php b/Neos.Media/Classes/Domain/Repository/AssetRepository.php index 7489ef11d60..45e597930dd 100644 --- a/Neos.Media/Classes/Domain/Repository/AssetRepository.php +++ b/Neos.Media/Classes/Domain/Repository/AssetRepository.php @@ -283,6 +283,10 @@ protected function addAssetVariantToQueryConstraints(QueryInterface $query): voi $variantsConstraints = []; $variantClassNames = $this->reflectionService->getAllImplementationClassNamesForInterface(AssetVariantInterface::class); foreach ($variantClassNames as $variantClassName) { + if (!in_array(AssetInterface::class, class_implements($variantClassName), true)) { + // ignore non-entity classes to prevent "class schema found" error + continue; + } $variantsConstraints[] = 'e NOT INSTANCE OF ' . $variantClassName; } From 7f6a983ad384eb2b0e5ea589cc185af236685d73 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 16 Feb 2024 17:36:12 +0000 Subject: [PATCH 05/20] TASK: Update references [skip ci] --- Neos.Neos/Documentation/References/CommandReference.rst | 2 +- Neos.Neos/Documentation/References/EelHelpersReference.rst | 2 +- .../Documentation/References/FlowQueryOperationReference.rst | 2 +- .../Documentation/References/Signals/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/Signals/Flow.rst | 2 +- Neos.Neos/Documentation/References/Signals/Media.rst | 2 +- Neos.Neos/Documentation/References/Signals/Neos.rst | 2 +- Neos.Neos/Documentation/References/Validators/Flow.rst | 2 +- Neos.Neos/Documentation/References/Validators/Media.rst | 2 +- Neos.Neos/Documentation/References/Validators/Party.rst | 2 +- .../Documentation/References/ViewHelpers/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Form.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Media.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Neos.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Neos.Neos/Documentation/References/CommandReference.rst b/Neos.Neos/Documentation/References/CommandReference.rst index 2ecbdfeea4b..d67ac462028 100644 --- a/Neos.Neos/Documentation/References/CommandReference.rst +++ b/Neos.Neos/Documentation/References/CommandReference.rst @@ -19,7 +19,7 @@ commands that may be available, use:: ./flow help -The following reference was automatically generated from code on 2024-01-15 +The following reference was automatically generated from code on 2024-02-16 .. _`Neos Command Reference: NEOS.CONTENTREPOSITORY`: diff --git a/Neos.Neos/Documentation/References/EelHelpersReference.rst b/Neos.Neos/Documentation/References/EelHelpersReference.rst index 2b847b8f798..40f9962dfd4 100644 --- a/Neos.Neos/Documentation/References/EelHelpersReference.rst +++ b/Neos.Neos/Documentation/References/EelHelpersReference.rst @@ -3,7 +3,7 @@ Eel Helpers Reference ===================== -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Eel Helpers Reference: Api`: diff --git a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst index 888bb4e5f93..d6c385b43fa 100644 --- a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst +++ b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst @@ -3,7 +3,7 @@ FlowQuery Operation Reference ============================= -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`FlowQuery Operation Reference: add`: diff --git a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst index adf70aaea6f..31f179b08f6 100644 --- a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository Signals Reference ==================================== -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Content Repository Signals Reference: Context (``Neos\ContentRepository\Domain\Service\Context``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Flow.rst b/Neos.Neos/Documentation/References/Signals/Flow.rst index 8988d689cd7..818983f0024 100644 --- a/Neos.Neos/Documentation/References/Signals/Flow.rst +++ b/Neos.Neos/Documentation/References/Signals/Flow.rst @@ -3,7 +3,7 @@ Flow Signals Reference ====================== -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Flow Signals Reference: AbstractAdvice (``Neos\Flow\Aop\Advice\AbstractAdvice``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Media.rst b/Neos.Neos/Documentation/References/Signals/Media.rst index 3ab2f8c65b1..23378239bbe 100644 --- a/Neos.Neos/Documentation/References/Signals/Media.rst +++ b/Neos.Neos/Documentation/References/Signals/Media.rst @@ -3,7 +3,7 @@ Media Signals Reference ======================= -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Media Signals Reference: AssetCollectionController (``Neos\Media\Browser\Controller\AssetCollectionController``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Neos.rst b/Neos.Neos/Documentation/References/Signals/Neos.rst index 01eee14293d..2518bc678f3 100644 --- a/Neos.Neos/Documentation/References/Signals/Neos.rst +++ b/Neos.Neos/Documentation/References/Signals/Neos.rst @@ -3,7 +3,7 @@ Neos Signals Reference ====================== -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Neos Signals Reference: AbstractCreate (``Neos\Neos\Ui\Domain\Model\Changes\AbstractCreate``)`: diff --git a/Neos.Neos/Documentation/References/Validators/Flow.rst b/Neos.Neos/Documentation/References/Validators/Flow.rst index a9b158a125a..f64bc9b7656 100644 --- a/Neos.Neos/Documentation/References/Validators/Flow.rst +++ b/Neos.Neos/Documentation/References/Validators/Flow.rst @@ -3,7 +3,7 @@ Flow Validator Reference ======================== -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Flow Validator Reference: AggregateBoundaryValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Media.rst b/Neos.Neos/Documentation/References/Validators/Media.rst index a08114f0c3d..4fea9b141ea 100644 --- a/Neos.Neos/Documentation/References/Validators/Media.rst +++ b/Neos.Neos/Documentation/References/Validators/Media.rst @@ -3,7 +3,7 @@ Media Validator Reference ========================= -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Media Validator Reference: ImageOrientationValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Party.rst b/Neos.Neos/Documentation/References/Validators/Party.rst index 4db620e7151..b193054a97b 100644 --- a/Neos.Neos/Documentation/References/Validators/Party.rst +++ b/Neos.Neos/Documentation/References/Validators/Party.rst @@ -3,7 +3,7 @@ Party Validator Reference ========================= -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Party Validator Reference: AimAddressValidator`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst index a3a304d637e..eec4fb06755 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository ViewHelper Reference ####################################### -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Content Repository ViewHelper Reference: PaginateViewHelper`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst index 5241a76c55b..f2abc867e4a 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst @@ -3,7 +3,7 @@ FluidAdaptor ViewHelper Reference ################################# -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`FluidAdaptor ViewHelper Reference: f:debug`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst index bece0041eb9..9f1c2d2a0dc 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst @@ -3,7 +3,7 @@ Form ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Form ViewHelper Reference: neos.form:form`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst index 2ef4bffe9c2..0f1e9d977ad 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst @@ -3,7 +3,7 @@ Fusion ViewHelper Reference ########################### -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Fusion ViewHelper Reference: fusion:render`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst index 64b4270d203..9ea12d8305d 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst @@ -3,7 +3,7 @@ Media ViewHelper Reference ########################## -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Media ViewHelper Reference: neos.media:fileTypeIcon`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst index 0eee162e4c4..9c4c9890797 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst @@ -3,7 +3,7 @@ Neos ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`Neos ViewHelper Reference: neos:backend.authenticationProviderLabel`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst index 040f5a03282..34a287a43eb 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst @@ -3,7 +3,7 @@ TYPO3 Fluid ViewHelper Reference ################################ -This reference was automatically generated from code on 2024-01-15 +This reference was automatically generated from code on 2024-02-16 .. _`TYPO3 Fluid ViewHelper Reference: f:alias`: From 8bb1c3e06e9f9ba1760547fca4a7e56da19eed0f Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 16 Feb 2024 17:38:08 +0000 Subject: [PATCH 06/20] TASK: Update references [skip ci] --- Neos.Neos/Documentation/References/CommandReference.rst | 2 +- Neos.Neos/Documentation/References/EelHelpersReference.rst | 2 +- .../Documentation/References/FlowQueryOperationReference.rst | 2 +- .../Documentation/References/Signals/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/Signals/Flow.rst | 2 +- Neos.Neos/Documentation/References/Signals/Media.rst | 2 +- Neos.Neos/Documentation/References/Signals/Neos.rst | 2 +- Neos.Neos/Documentation/References/Validators/Flow.rst | 2 +- Neos.Neos/Documentation/References/Validators/Media.rst | 2 +- Neos.Neos/Documentation/References/Validators/Party.rst | 2 +- .../Documentation/References/ViewHelpers/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Form.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Media.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Neos.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Neos.Neos/Documentation/References/CommandReference.rst b/Neos.Neos/Documentation/References/CommandReference.rst index d1038ad4082..d67ac462028 100644 --- a/Neos.Neos/Documentation/References/CommandReference.rst +++ b/Neos.Neos/Documentation/References/CommandReference.rst @@ -19,7 +19,7 @@ commands that may be available, use:: ./flow help -The following reference was automatically generated from code on 2024-02-11 +The following reference was automatically generated from code on 2024-02-16 .. _`Neos Command Reference: NEOS.CONTENTREPOSITORY`: diff --git a/Neos.Neos/Documentation/References/EelHelpersReference.rst b/Neos.Neos/Documentation/References/EelHelpersReference.rst index ee674d1c320..0ec9aaa6215 100644 --- a/Neos.Neos/Documentation/References/EelHelpersReference.rst +++ b/Neos.Neos/Documentation/References/EelHelpersReference.rst @@ -3,7 +3,7 @@ Eel Helpers Reference ===================== -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Eel Helpers Reference: Api`: diff --git a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst index 2939bacc8c7..d6c385b43fa 100644 --- a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst +++ b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst @@ -3,7 +3,7 @@ FlowQuery Operation Reference ============================= -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`FlowQuery Operation Reference: add`: diff --git a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst index 31deaba3f35..31f179b08f6 100644 --- a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository Signals Reference ==================================== -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Content Repository Signals Reference: Context (``Neos\ContentRepository\Domain\Service\Context``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Flow.rst b/Neos.Neos/Documentation/References/Signals/Flow.rst index 1c934164b3e..818983f0024 100644 --- a/Neos.Neos/Documentation/References/Signals/Flow.rst +++ b/Neos.Neos/Documentation/References/Signals/Flow.rst @@ -3,7 +3,7 @@ Flow Signals Reference ====================== -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Flow Signals Reference: AbstractAdvice (``Neos\Flow\Aop\Advice\AbstractAdvice``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Media.rst b/Neos.Neos/Documentation/References/Signals/Media.rst index 277eddadedf..23378239bbe 100644 --- a/Neos.Neos/Documentation/References/Signals/Media.rst +++ b/Neos.Neos/Documentation/References/Signals/Media.rst @@ -3,7 +3,7 @@ Media Signals Reference ======================= -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Media Signals Reference: AssetCollectionController (``Neos\Media\Browser\Controller\AssetCollectionController``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Neos.rst b/Neos.Neos/Documentation/References/Signals/Neos.rst index b097d686d2a..2518bc678f3 100644 --- a/Neos.Neos/Documentation/References/Signals/Neos.rst +++ b/Neos.Neos/Documentation/References/Signals/Neos.rst @@ -3,7 +3,7 @@ Neos Signals Reference ====================== -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Neos Signals Reference: AbstractCreate (``Neos\Neos\Ui\Domain\Model\Changes\AbstractCreate``)`: diff --git a/Neos.Neos/Documentation/References/Validators/Flow.rst b/Neos.Neos/Documentation/References/Validators/Flow.rst index dfb0314e198..f64bc9b7656 100644 --- a/Neos.Neos/Documentation/References/Validators/Flow.rst +++ b/Neos.Neos/Documentation/References/Validators/Flow.rst @@ -3,7 +3,7 @@ Flow Validator Reference ======================== -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Flow Validator Reference: AggregateBoundaryValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Media.rst b/Neos.Neos/Documentation/References/Validators/Media.rst index e90a633b3fb..4fea9b141ea 100644 --- a/Neos.Neos/Documentation/References/Validators/Media.rst +++ b/Neos.Neos/Documentation/References/Validators/Media.rst @@ -3,7 +3,7 @@ Media Validator Reference ========================= -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Media Validator Reference: ImageOrientationValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Party.rst b/Neos.Neos/Documentation/References/Validators/Party.rst index 73e00877ff4..b193054a97b 100644 --- a/Neos.Neos/Documentation/References/Validators/Party.rst +++ b/Neos.Neos/Documentation/References/Validators/Party.rst @@ -3,7 +3,7 @@ Party Validator Reference ========================= -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Party Validator Reference: AimAddressValidator`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst index dbde74715dc..eec4fb06755 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository ViewHelper Reference ####################################### -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Content Repository ViewHelper Reference: PaginateViewHelper`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst index 9108f2fc2ad..f2abc867e4a 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst @@ -3,7 +3,7 @@ FluidAdaptor ViewHelper Reference ################################# -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`FluidAdaptor ViewHelper Reference: f:debug`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst index ed6d1e48def..9f1c2d2a0dc 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst @@ -3,7 +3,7 @@ Form ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Form ViewHelper Reference: neos.form:form`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst index 5f6bca5c8fd..0f1e9d977ad 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst @@ -3,7 +3,7 @@ Fusion ViewHelper Reference ########################### -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Fusion ViewHelper Reference: fusion:render`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst index 39daed28e4f..9ea12d8305d 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst @@ -3,7 +3,7 @@ Media ViewHelper Reference ########################## -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Media ViewHelper Reference: neos.media:fileTypeIcon`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst index 1cb80201e13..9c4c9890797 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst @@ -3,7 +3,7 @@ Neos ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`Neos ViewHelper Reference: neos:backend.authenticationProviderLabel`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst index fd80e41e90c..34a287a43eb 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst @@ -3,7 +3,7 @@ TYPO3 Fluid ViewHelper Reference ################################ -This reference was automatically generated from code on 2024-02-11 +This reference was automatically generated from code on 2024-02-16 .. _`TYPO3 Fluid ViewHelper Reference: f:alias`: From eada1dbfb569de6e3932b26b4b3c630401020e05 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Fri, 16 Feb 2024 21:59:33 +0100 Subject: [PATCH 07/20] BUGFIX: Neos Ui JSON serializable property values This bugfix will make use of the \JsonSerializable interface instead directly when serializing properties for the neos ui. With neos/flow-development-collection#2762 native support for vo's in `flow_json_array` was introduced. That also allows value object support for node properties, as they can be stored directly the node properties flow_json_array. Unfortunately the property serialisation for the NeosUi does NOT use the expected `\JsonSerializable::jsonSerialize` but the property mapper and the `ArrayFromObjectConverter` for object types to get an array that will be json encoded. This works mostly fine but in some cases it fails: - when your `fromArray` fields and property names values dont match - when a "object" subtypes the object mapper is no convertable like the `GuzzleHttp\Psr7\Uri`: ``` Too few arguments to function GuzzleHttp\Psr7\Uri::isAbsolute(), 0 passed in /core/neos-manufacture-highest/Packages/Framework/Neos.Utility.ObjectHandling/Classes/ObjectAccess.php on line 151 and exactly 1 expected ``` Current workarounds are aop: https://github.com/sitegeist/Sitegeist.InspectorGadget/blob/78f5f4a206287b1c4bedf5cb88582ed51cb4a311/Classes/Infrastructure/NodeInfo/NodeInfoPostProcessingAspect.php#L17 Or to use a dumb property mapper: https://github.com/sitegeist/Sitegeist.Archaeopteryx/blob/9322b9cb8e4824bcaf7aaa247c23b1244a2f1167/Classes/LinkToArrayForNeosUiConverter.php#L12C16-L12C78 --- .../Classes/Domain/Model/Node.php | 4 ++ .../Mapping/NodePropertyConverterService.php | 21 ++++-- .../NodePropertyConverterServiceTest.php | 64 +++++++++++++++++++ 3 files changed, 85 insertions(+), 4 deletions(-) diff --git a/Neos.ContentRepository/Classes/Domain/Model/Node.php b/Neos.ContentRepository/Classes/Domain/Model/Node.php index 0bddfc4d93c..13909e0aebd 100644 --- a/Neos.ContentRepository/Classes/Domain/Model/Node.php +++ b/Neos.ContentRepository/Classes/Domain/Model/Node.php @@ -947,6 +947,10 @@ public function getProperty($propertyName, bool $returnNodesAsIdentifiers = fals } try { + /** + * In case the value is a value object it _will_ already be deserialized due to the feature in flow_json_array + * {@see \Neos\Flow\Persistence\Doctrine\DataTypes\JsonArrayType::deserializeValueObject} + */ return $this->propertyMapper->convert($value, $expectedPropertyType); } catch (\Neos\Flow\Property\Exception $exception) { throw new NodeException(sprintf('Failed to convert property "%s" of node "%s" to the expected type of "%s": %s', $propertyName, $this->getIdentifier(), $expectedPropertyType, $exception->getMessage()), 1630675703, $exception); diff --git a/Neos.Neos/Classes/Service/Mapping/NodePropertyConverterService.php b/Neos.Neos/Classes/Service/Mapping/NodePropertyConverterService.php index 7523b37cf65..564b0169d2b 100644 --- a/Neos.Neos/Classes/Service/Mapping/NodePropertyConverterService.php +++ b/Neos.Neos/Classes/Service/Mapping/NodePropertyConverterService.php @@ -19,6 +19,7 @@ use Neos\Flow\Property\PropertyMapper; use Neos\Flow\Property\PropertyMappingConfiguration; use Neos\Flow\Property\PropertyMappingConfigurationInterface; +use Neos\Flow\Property\TypeConverter\DenormalizingObjectConverter; use Neos\Utility\ObjectAccess; use Neos\Utility\TypeHandling; use Neos\ContentRepository\Domain\Model\NodeInterface; @@ -155,15 +156,27 @@ public function getPropertiesArray(NodeInterface $node) } /** - * Convert the given value to a simple type or an array of simple types. + * Convert the given value to a simple type or an array of simple types or to a \JsonSerializable. * - * @param mixed $propertyValue - * @param string $dataType - * @return mixed + * @param mixed $propertyValue the deserialized node property value + * @param string $dataType the property type from the node type schema + * @return \JsonSerializable|int|float|string|bool|null|array * @throws PropertyException */ protected function convertValue($propertyValue, $dataType) { + if ($propertyValue instanceof \JsonSerializable && DenormalizingObjectConverter::isDenormalizable($propertyValue::class)) { + /** + * Value object support, as they can be stored directly the node properties flow_json_array + * + * If the value is json-serializable and deserializeable via the {@see DenormalizingObjectConverter} (via e.g. fromArray) + * We return the json-serializable directly. + * + * {@see \Neos\Flow\Persistence\Doctrine\DataTypes\JsonArrayType::deserializeValueObject()} + */ + return $propertyValue; + } + $parsedType = TypeHandling::parseType($dataType); // This hardcoded handling is to circumvent rewriting PropertyMappers that convert objects. Usually they expect the source to be an object already and break if not. diff --git a/Neos.Neos/Tests/Functional/Service/Mapping/NodePropertyConverterServiceTest.php b/Neos.Neos/Tests/Functional/Service/Mapping/NodePropertyConverterServiceTest.php index c65e302ef08..e1f6783bf1a 100644 --- a/Neos.Neos/Tests/Functional/Service/Mapping/NodePropertyConverterServiceTest.php +++ b/Neos.Neos/Tests/Functional/Service/Mapping/NodePropertyConverterServiceTest.php @@ -11,6 +11,7 @@ * source code. */ +use GuzzleHttp\Psr7\Uri; use Neos\ContentRepository\Domain\Model\Node; use Neos\ContentRepository\Domain\Model\NodeType; use Neos\Flow\Tests\FunctionalTestCase; @@ -183,4 +184,67 @@ public function complexTypesWithGivenTypeConverterAreConvertedByTypeConverter() self::assertEquals($expected, $actual); } + + /** + * @test + */ + public function jsonSerializedAbleTypesAreDirectlySerialized() + { + $voClassName = 'Value' . md5(uniqid(mt_rand(), true)); + eval('class ' . $voClassName . ' implements \JsonSerializable' . <<<'PHP' + { + public function __construct( + public \Psr\Http\Message\UriInterface $uri + ) { + } + + public static function fromArray(array $array): self + { + return new self( + new \GuzzleHttp\Psr7\Uri($array['uri']) + ); + } + + public function jsonSerialize(): array + { + return [ + 'uri' => $this->uri->__toString() + ]; + } + } + PHP); + + $propertyValue = new $voClassName(new Uri('localhost://foo.html')); + $expected = '{"uri":"localhost:\\/\\/foo.html"}'; + + $nodeType = $this + ->getMockBuilder(NodeType::class) + ->setMethods(['getPropertyType']) + ->disableOriginalConstructor() + ->getMock(); + $nodeType + ->expects(self::any()) + ->method('getPropertyType') + ->willReturn(ImageInterface::class); + + $node = $this + ->getMockBuilder(Node::class) + ->setMethods(['getProperty', 'getNodeType']) + ->disableOriginalConstructor() + ->getMock(); + $node + ->expects(self::any()) + ->method('getProperty') + ->willReturn($propertyValue); + $node + ->expects(self::any()) + ->method('getNodeType') + ->willReturn($nodeType); + + $nodePropertyConverterService = new NodePropertyConverterService(); + + $actual = $nodePropertyConverterService->getProperty($node, 'dontcare'); + + self::assertEquals($expected, json_encode($actual)); + } } From 8e2e1b964e946cc8a5234d8acd0187597d8c5912 Mon Sep 17 00:00:00 2001 From: Bastian Waidelich Date: Thu, 22 Feb 2024 14:37:35 +0100 Subject: [PATCH 08/20] Update AssetRepository.php The fix no longer worked with 8.3 due to some other changes, so it was adjusted --- Neos.Media/Classes/Domain/Repository/AssetRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Neos.Media/Classes/Domain/Repository/AssetRepository.php b/Neos.Media/Classes/Domain/Repository/AssetRepository.php index 45e597930dd..4ec41c0037b 100644 --- a/Neos.Media/Classes/Domain/Repository/AssetRepository.php +++ b/Neos.Media/Classes/Domain/Repository/AssetRepository.php @@ -283,7 +283,7 @@ protected function addAssetVariantToQueryConstraints(QueryInterface $query): voi $variantsConstraints = []; $variantClassNames = $this->reflectionService->getAllImplementationClassNamesForInterface(AssetVariantInterface::class); foreach ($variantClassNames as $variantClassName) { - if (!in_array(AssetInterface::class, class_implements($variantClassName), true)) { + if (!$this->reflectionService->isClassAnnotatedWith($variantClassName, Flow\Entity::class)) { // ignore non-entity classes to prevent "class schema found" error continue; } From 3a0a0e7e6fd413c9f5e1a66aca7e654763fc08b1 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Thu, 22 Feb 2024 15:50:48 +0000 Subject: [PATCH 09/20] TASK: Update references [skip ci] --- Neos.Neos/Documentation/References/CommandReference.rst | 2 +- Neos.Neos/Documentation/References/EelHelpersReference.rst | 2 +- .../Documentation/References/FlowQueryOperationReference.rst | 2 +- .../Documentation/References/Signals/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/Signals/Flow.rst | 2 +- Neos.Neos/Documentation/References/Signals/Media.rst | 2 +- Neos.Neos/Documentation/References/Signals/Neos.rst | 2 +- Neos.Neos/Documentation/References/Validators/Flow.rst | 2 +- Neos.Neos/Documentation/References/Validators/Media.rst | 2 +- Neos.Neos/Documentation/References/Validators/Party.rst | 2 +- .../Documentation/References/ViewHelpers/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Form.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Media.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Neos.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Neos.Neos/Documentation/References/CommandReference.rst b/Neos.Neos/Documentation/References/CommandReference.rst index 7a5636c8e23..1dbdaf57c22 100644 --- a/Neos.Neos/Documentation/References/CommandReference.rst +++ b/Neos.Neos/Documentation/References/CommandReference.rst @@ -19,7 +19,7 @@ commands that may be available, use:: ./flow help -The following reference was automatically generated from code on 2024-02-16 +The following reference was automatically generated from code on 2024-02-22 .. _`Neos Command Reference: NEOS.CONTENTREPOSITORY`: diff --git a/Neos.Neos/Documentation/References/EelHelpersReference.rst b/Neos.Neos/Documentation/References/EelHelpersReference.rst index 698224ae10a..0cb3d0ca16e 100644 --- a/Neos.Neos/Documentation/References/EelHelpersReference.rst +++ b/Neos.Neos/Documentation/References/EelHelpersReference.rst @@ -3,7 +3,7 @@ Eel Helpers Reference ===================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Eel Helpers Reference: Api`: diff --git a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst index d6c385b43fa..022c63d329e 100644 --- a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst +++ b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst @@ -3,7 +3,7 @@ FlowQuery Operation Reference ============================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`FlowQuery Operation Reference: add`: diff --git a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst index 31f179b08f6..aaef7666ec4 100644 --- a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository Signals Reference ==================================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Content Repository Signals Reference: Context (``Neos\ContentRepository\Domain\Service\Context``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Flow.rst b/Neos.Neos/Documentation/References/Signals/Flow.rst index 818983f0024..d8059b6a6fb 100644 --- a/Neos.Neos/Documentation/References/Signals/Flow.rst +++ b/Neos.Neos/Documentation/References/Signals/Flow.rst @@ -3,7 +3,7 @@ Flow Signals Reference ====================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Flow Signals Reference: AbstractAdvice (``Neos\Flow\Aop\Advice\AbstractAdvice``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Media.rst b/Neos.Neos/Documentation/References/Signals/Media.rst index 23378239bbe..cbc58feb375 100644 --- a/Neos.Neos/Documentation/References/Signals/Media.rst +++ b/Neos.Neos/Documentation/References/Signals/Media.rst @@ -3,7 +3,7 @@ Media Signals Reference ======================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Media Signals Reference: AssetCollectionController (``Neos\Media\Browser\Controller\AssetCollectionController``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Neos.rst b/Neos.Neos/Documentation/References/Signals/Neos.rst index 2518bc678f3..e38a4dfe8a1 100644 --- a/Neos.Neos/Documentation/References/Signals/Neos.rst +++ b/Neos.Neos/Documentation/References/Signals/Neos.rst @@ -3,7 +3,7 @@ Neos Signals Reference ====================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Neos Signals Reference: AbstractCreate (``Neos\Neos\Ui\Domain\Model\Changes\AbstractCreate``)`: diff --git a/Neos.Neos/Documentation/References/Validators/Flow.rst b/Neos.Neos/Documentation/References/Validators/Flow.rst index d8728f02159..900309d1dff 100644 --- a/Neos.Neos/Documentation/References/Validators/Flow.rst +++ b/Neos.Neos/Documentation/References/Validators/Flow.rst @@ -3,7 +3,7 @@ Flow Validator Reference ======================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Flow Validator Reference: AggregateBoundaryValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Media.rst b/Neos.Neos/Documentation/References/Validators/Media.rst index 4fea9b141ea..2cd15909bb2 100644 --- a/Neos.Neos/Documentation/References/Validators/Media.rst +++ b/Neos.Neos/Documentation/References/Validators/Media.rst @@ -3,7 +3,7 @@ Media Validator Reference ========================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Media Validator Reference: ImageOrientationValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Party.rst b/Neos.Neos/Documentation/References/Validators/Party.rst index b193054a97b..3c01cc334ac 100644 --- a/Neos.Neos/Documentation/References/Validators/Party.rst +++ b/Neos.Neos/Documentation/References/Validators/Party.rst @@ -3,7 +3,7 @@ Party Validator Reference ========================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Party Validator Reference: AimAddressValidator`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst index eec4fb06755..083d7928bcf 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository ViewHelper Reference ####################################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Content Repository ViewHelper Reference: PaginateViewHelper`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst index f2abc867e4a..3809a1c2443 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst @@ -3,7 +3,7 @@ FluidAdaptor ViewHelper Reference ################################# -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`FluidAdaptor ViewHelper Reference: f:debug`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst index 9f1c2d2a0dc..4b6972610d5 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst @@ -3,7 +3,7 @@ Form ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Form ViewHelper Reference: neos.form:form`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst index 0f1e9d977ad..620c5687f25 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst @@ -3,7 +3,7 @@ Fusion ViewHelper Reference ########################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Fusion ViewHelper Reference: fusion:render`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst index 9ea12d8305d..995561c081f 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst @@ -3,7 +3,7 @@ Media ViewHelper Reference ########################## -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Media ViewHelper Reference: neos.media:fileTypeIcon`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst index 9c4c9890797..1970d4dbc7e 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst @@ -3,7 +3,7 @@ Neos ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`Neos ViewHelper Reference: neos:backend.authenticationProviderLabel`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst index 34a287a43eb..cd1cb64c724 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst @@ -3,7 +3,7 @@ TYPO3 Fluid ViewHelper Reference ################################ -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-22 .. _`TYPO3 Fluid ViewHelper Reference: f:alias`: From aba39ff5fbbc21d1d403d95df4fc3bb931cc0e10 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 10:46:15 +0000 Subject: [PATCH 10/20] TASK: Update references [skip ci] --- Neos.Neos/Documentation/References/CommandReference.rst | 2 +- Neos.Neos/Documentation/References/EelHelpersReference.rst | 2 +- .../Documentation/References/FlowQueryOperationReference.rst | 2 +- .../Documentation/References/Signals/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/Signals/Flow.rst | 2 +- Neos.Neos/Documentation/References/Signals/Media.rst | 2 +- Neos.Neos/Documentation/References/Signals/Neos.rst | 2 +- Neos.Neos/Documentation/References/Validators/Flow.rst | 2 +- Neos.Neos/Documentation/References/Validators/Media.rst | 2 +- Neos.Neos/Documentation/References/Validators/Party.rst | 2 +- .../Documentation/References/ViewHelpers/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Form.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Media.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Neos.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Neos.Neos/Documentation/References/CommandReference.rst b/Neos.Neos/Documentation/References/CommandReference.rst index 1dbdaf57c22..0568677e4dd 100644 --- a/Neos.Neos/Documentation/References/CommandReference.rst +++ b/Neos.Neos/Documentation/References/CommandReference.rst @@ -19,7 +19,7 @@ commands that may be available, use:: ./flow help -The following reference was automatically generated from code on 2024-02-22 +The following reference was automatically generated from code on 2024-02-23 .. _`Neos Command Reference: NEOS.CONTENTREPOSITORY`: diff --git a/Neos.Neos/Documentation/References/EelHelpersReference.rst b/Neos.Neos/Documentation/References/EelHelpersReference.rst index 0cb3d0ca16e..ecf773c033a 100644 --- a/Neos.Neos/Documentation/References/EelHelpersReference.rst +++ b/Neos.Neos/Documentation/References/EelHelpersReference.rst @@ -3,7 +3,7 @@ Eel Helpers Reference ===================== -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Eel Helpers Reference: Api`: diff --git a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst index 022c63d329e..3161d5f826c 100644 --- a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst +++ b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst @@ -3,7 +3,7 @@ FlowQuery Operation Reference ============================= -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`FlowQuery Operation Reference: add`: diff --git a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst index aaef7666ec4..b46f0cfa667 100644 --- a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository Signals Reference ==================================== -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Content Repository Signals Reference: Context (``Neos\ContentRepository\Domain\Service\Context``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Flow.rst b/Neos.Neos/Documentation/References/Signals/Flow.rst index d8059b6a6fb..42ddadfb9be 100644 --- a/Neos.Neos/Documentation/References/Signals/Flow.rst +++ b/Neos.Neos/Documentation/References/Signals/Flow.rst @@ -3,7 +3,7 @@ Flow Signals Reference ====================== -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Flow Signals Reference: AbstractAdvice (``Neos\Flow\Aop\Advice\AbstractAdvice``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Media.rst b/Neos.Neos/Documentation/References/Signals/Media.rst index cbc58feb375..484504d7b19 100644 --- a/Neos.Neos/Documentation/References/Signals/Media.rst +++ b/Neos.Neos/Documentation/References/Signals/Media.rst @@ -3,7 +3,7 @@ Media Signals Reference ======================= -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Media Signals Reference: AssetCollectionController (``Neos\Media\Browser\Controller\AssetCollectionController``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Neos.rst b/Neos.Neos/Documentation/References/Signals/Neos.rst index e38a4dfe8a1..e8606bfa532 100644 --- a/Neos.Neos/Documentation/References/Signals/Neos.rst +++ b/Neos.Neos/Documentation/References/Signals/Neos.rst @@ -3,7 +3,7 @@ Neos Signals Reference ====================== -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Neos Signals Reference: AbstractCreate (``Neos\Neos\Ui\Domain\Model\Changes\AbstractCreate``)`: diff --git a/Neos.Neos/Documentation/References/Validators/Flow.rst b/Neos.Neos/Documentation/References/Validators/Flow.rst index 900309d1dff..277468c0ae3 100644 --- a/Neos.Neos/Documentation/References/Validators/Flow.rst +++ b/Neos.Neos/Documentation/References/Validators/Flow.rst @@ -3,7 +3,7 @@ Flow Validator Reference ======================== -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Flow Validator Reference: AggregateBoundaryValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Media.rst b/Neos.Neos/Documentation/References/Validators/Media.rst index 2cd15909bb2..7ecf6c81025 100644 --- a/Neos.Neos/Documentation/References/Validators/Media.rst +++ b/Neos.Neos/Documentation/References/Validators/Media.rst @@ -3,7 +3,7 @@ Media Validator Reference ========================= -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Media Validator Reference: ImageOrientationValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Party.rst b/Neos.Neos/Documentation/References/Validators/Party.rst index 3c01cc334ac..10ea9468e98 100644 --- a/Neos.Neos/Documentation/References/Validators/Party.rst +++ b/Neos.Neos/Documentation/References/Validators/Party.rst @@ -3,7 +3,7 @@ Party Validator Reference ========================= -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Party Validator Reference: AimAddressValidator`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst index 083d7928bcf..2e4940064e2 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository ViewHelper Reference ####################################### -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Content Repository ViewHelper Reference: PaginateViewHelper`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst index 3809a1c2443..442153392b6 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst @@ -3,7 +3,7 @@ FluidAdaptor ViewHelper Reference ################################# -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`FluidAdaptor ViewHelper Reference: f:debug`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst index 4b6972610d5..a4a120ebfcc 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst @@ -3,7 +3,7 @@ Form ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Form ViewHelper Reference: neos.form:form`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst index 620c5687f25..1528580d0ac 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst @@ -3,7 +3,7 @@ Fusion ViewHelper Reference ########################### -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Fusion ViewHelper Reference: fusion:render`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst index 995561c081f..3c9c0d7fa94 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst @@ -3,7 +3,7 @@ Media ViewHelper Reference ########################## -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Media ViewHelper Reference: neos.media:fileTypeIcon`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst index 1970d4dbc7e..b3a78a0c559 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst @@ -3,7 +3,7 @@ Neos ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`Neos ViewHelper Reference: neos:backend.authenticationProviderLabel`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst index cd1cb64c724..7e8e100693a 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst @@ -3,7 +3,7 @@ TYPO3 Fluid ViewHelper Reference ################################ -This reference was automatically generated from code on 2024-02-22 +This reference was automatically generated from code on 2024-02-23 .. _`TYPO3 Fluid ViewHelper Reference: f:alias`: From 758ac21afe563640cd5f389a22f7c4c27096e3d7 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 13:30:48 +0000 Subject: [PATCH 11/20] TASK: Update references [skip ci] --- Neos.Neos/Documentation/References/CommandReference.rst | 2 +- Neos.Neos/Documentation/References/EelHelpersReference.rst | 2 +- .../Documentation/References/FlowQueryOperationReference.rst | 2 +- .../Documentation/References/Signals/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/Signals/Flow.rst | 2 +- Neos.Neos/Documentation/References/Signals/Media.rst | 2 +- Neos.Neos/Documentation/References/Signals/Neos.rst | 2 +- Neos.Neos/Documentation/References/Validators/Flow.rst | 2 +- Neos.Neos/Documentation/References/Validators/Media.rst | 2 +- Neos.Neos/Documentation/References/Validators/Party.rst | 2 +- .../Documentation/References/ViewHelpers/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Form.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Media.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Neos.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Neos.Neos/Documentation/References/CommandReference.rst b/Neos.Neos/Documentation/References/CommandReference.rst index d67ac462028..92b9d10fa04 100644 --- a/Neos.Neos/Documentation/References/CommandReference.rst +++ b/Neos.Neos/Documentation/References/CommandReference.rst @@ -19,7 +19,7 @@ commands that may be available, use:: ./flow help -The following reference was automatically generated from code on 2024-02-16 +The following reference was automatically generated from code on 2024-02-23 .. _`Neos Command Reference: NEOS.CONTENTREPOSITORY`: diff --git a/Neos.Neos/Documentation/References/EelHelpersReference.rst b/Neos.Neos/Documentation/References/EelHelpersReference.rst index 0ec9aaa6215..e6f903f59bf 100644 --- a/Neos.Neos/Documentation/References/EelHelpersReference.rst +++ b/Neos.Neos/Documentation/References/EelHelpersReference.rst @@ -3,7 +3,7 @@ Eel Helpers Reference ===================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Eel Helpers Reference: Api`: diff --git a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst index d6c385b43fa..3161d5f826c 100644 --- a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst +++ b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst @@ -3,7 +3,7 @@ FlowQuery Operation Reference ============================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`FlowQuery Operation Reference: add`: diff --git a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst index 31f179b08f6..b46f0cfa667 100644 --- a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository Signals Reference ==================================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Content Repository Signals Reference: Context (``Neos\ContentRepository\Domain\Service\Context``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Flow.rst b/Neos.Neos/Documentation/References/Signals/Flow.rst index 818983f0024..42ddadfb9be 100644 --- a/Neos.Neos/Documentation/References/Signals/Flow.rst +++ b/Neos.Neos/Documentation/References/Signals/Flow.rst @@ -3,7 +3,7 @@ Flow Signals Reference ====================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Flow Signals Reference: AbstractAdvice (``Neos\Flow\Aop\Advice\AbstractAdvice``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Media.rst b/Neos.Neos/Documentation/References/Signals/Media.rst index 23378239bbe..484504d7b19 100644 --- a/Neos.Neos/Documentation/References/Signals/Media.rst +++ b/Neos.Neos/Documentation/References/Signals/Media.rst @@ -3,7 +3,7 @@ Media Signals Reference ======================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media Signals Reference: AssetCollectionController (``Neos\Media\Browser\Controller\AssetCollectionController``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Neos.rst b/Neos.Neos/Documentation/References/Signals/Neos.rst index 2518bc678f3..e8606bfa532 100644 --- a/Neos.Neos/Documentation/References/Signals/Neos.rst +++ b/Neos.Neos/Documentation/References/Signals/Neos.rst @@ -3,7 +3,7 @@ Neos Signals Reference ====================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Neos Signals Reference: AbstractCreate (``Neos\Neos\Ui\Domain\Model\Changes\AbstractCreate``)`: diff --git a/Neos.Neos/Documentation/References/Validators/Flow.rst b/Neos.Neos/Documentation/References/Validators/Flow.rst index f64bc9b7656..804ce67ac20 100644 --- a/Neos.Neos/Documentation/References/Validators/Flow.rst +++ b/Neos.Neos/Documentation/References/Validators/Flow.rst @@ -3,7 +3,7 @@ Flow Validator Reference ======================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Flow Validator Reference: AggregateBoundaryValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Media.rst b/Neos.Neos/Documentation/References/Validators/Media.rst index 4fea9b141ea..7ecf6c81025 100644 --- a/Neos.Neos/Documentation/References/Validators/Media.rst +++ b/Neos.Neos/Documentation/References/Validators/Media.rst @@ -3,7 +3,7 @@ Media Validator Reference ========================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media Validator Reference: ImageOrientationValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Party.rst b/Neos.Neos/Documentation/References/Validators/Party.rst index b193054a97b..10ea9468e98 100644 --- a/Neos.Neos/Documentation/References/Validators/Party.rst +++ b/Neos.Neos/Documentation/References/Validators/Party.rst @@ -3,7 +3,7 @@ Party Validator Reference ========================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Party Validator Reference: AimAddressValidator`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst index eec4fb06755..2e4940064e2 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository ViewHelper Reference ####################################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Content Repository ViewHelper Reference: PaginateViewHelper`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst index f2abc867e4a..442153392b6 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst @@ -3,7 +3,7 @@ FluidAdaptor ViewHelper Reference ################################# -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`FluidAdaptor ViewHelper Reference: f:debug`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst index 9f1c2d2a0dc..a4a120ebfcc 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst @@ -3,7 +3,7 @@ Form ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Form ViewHelper Reference: neos.form:form`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst index 0f1e9d977ad..1528580d0ac 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst @@ -3,7 +3,7 @@ Fusion ViewHelper Reference ########################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Fusion ViewHelper Reference: fusion:render`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst index 9ea12d8305d..3c9c0d7fa94 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst @@ -3,7 +3,7 @@ Media ViewHelper Reference ########################## -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media ViewHelper Reference: neos.media:fileTypeIcon`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst index 9c4c9890797..b3a78a0c559 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst @@ -3,7 +3,7 @@ Neos ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Neos ViewHelper Reference: neos:backend.authenticationProviderLabel`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst index 34a287a43eb..7e8e100693a 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst @@ -3,7 +3,7 @@ TYPO3 Fluid ViewHelper Reference ################################ -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`TYPO3 Fluid ViewHelper Reference: f:alias`: From 0fe9b4841be968665621a054316f6a478a02da07 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 16:37:59 +0000 Subject: [PATCH 12/20] TASK: Add changelog for 8.0.17 [skip ci] See https://jenkins.neos.io/job/neos-release/421/ --- .../Appendixes/ChangeLogs/8017.rst | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 Neos.Neos/Documentation/Appendixes/ChangeLogs/8017.rst diff --git a/Neos.Neos/Documentation/Appendixes/ChangeLogs/8017.rst b/Neos.Neos/Documentation/Appendixes/ChangeLogs/8017.rst new file mode 100644 index 00000000000..db1c817c95e --- /dev/null +++ b/Neos.Neos/Documentation/Appendixes/ChangeLogs/8017.rst @@ -0,0 +1,134 @@ +`8.0.17 (2024-02-23) `_ +================================================================================================ + +Overview of merged pull requests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`BUGFIX: Fusion parser fix multi line comment `_ +--------------------------------------------------------------------------------------------------------------- + +This fixes a bug where the Fusion parser would not parse following c-style comments correctly: + +``` +/** +comment with multiple stars even +**/ +``` + +This happed when the ending count of ``*`` was even. So ending a comment with ``***/`` worked previously. + +Now we use the "correct" regex from Jeffrey E.F. Friedl's book "Mastering Regular Expressions" Page 272 "Unrolling C Comments" +We already use his regex for string matching and it is really fast due to the unrolled loop. Faster than using the lazy quantifier ``~^/\\*.*?\\*/~s``. + +I did a performance test with 1 million iteration on three different comment samples (with each sample having a dynamic part to clear possible caches): + +| Unrolled (this pr) | Simple Lazy Quantifier | +|--------|--------| +| 0.143725s | 0.160235s | +| 0.181047s | 0.203759s | +| 0.156254s | 0.170144s | + + +Additionally the error message for comments starting with ``/**`` was improved. Previously $nextLine->char(1) would return ``**`` instead of just one ``*`` because wrongly implemented. + +**Upgrade instructions** + + +* Packages: ``Fusion`` + +`BUGFIX: Use a dynamic URL for user impersonation `_ +------------------------------------------------------------------------------------------------------------------- + +As described in the issue, the impersonation does not work when Neos is running in a subfolder. This change adds a data attribute with a dynamic URL to the DOM, and the user impersonation is using this module URL as base. + +* Fixes: `#4797 `_ + +**Review instructions** + +Use the user impersonation in the Backend modules (User Management and other) when Neos is running in a subfolder. +e.g. BASEURL.com/cms/neos + + +* Packages: ``Neos`` + +`BUGFIX: Add assetcollection privilege condition to asset edit view in Media.Browser `_ +------------------------------------------------------------------------------------------------------------------------------------------------------ + +In the Media.Browser you can change the AssetCollections via checkboxes even when you don't have the privilege (Neos.Media.Browser:ManageAssetCollections) to do so. +With this PR the checkboxes are only rendered with the right privilege. + +* Packages: ``Neos`` ``Media.Browser`` + +`BUGFIX: MenuHelper uses content dimensions to get node for privilege check `_ +--------------------------------------------------------------------------------------------------------------------------------------------- + +* Resolves: `#4625 `_ + +The Neos backend MenuHelper received a bugfix to filter sites listed by the menu using NodePrivileges. In case of sites with multiple dimensions the dimensionCombinations are considered too. + +**Upgrade instructions** + +**Review instructions** + +This bugfix tries to fix #4025. If 7.3 and upwards is used on a multi site project with multiple dimensions, it might be that +``` +$node = $context->getNode(\\Neos\\ContentRepository\\Domain\\Utility\\NodePaths::addNodePathSegment(SiteService::SITES_ROOT_PATH, $site->getNodeName())); +``` +returns ``null``, causing the next line +``` +if ($this->privilegeManager->isGranted(NodeTreePrivilege::class, new NodePrivilegeSubject($node))) { +``` +to throw an exception. Thus the backend is not accessible anymore. +The reason is, that for multisite projects with multiple dimensions it might be that ``$node`` cannot be retrieved by the default context created. + +The fix is to use ``contentDimensionCombinator`` and also to explicitly check if ``$node`` could be retrieved. +I'm also using the property ``invisibleContentShown`` and ``inaccessibleContentShown`` because it might be that an editor set the Home of a site to ``hidden`` by mistake. Thus the site might not accessible via the menu anymore to possibly fix an editor mistake. + + +* Packages: ``Neos`` + +`BUGFIX: Fusion avoid error parser cache to crash if cache is broken `_ +-------------------------------------------------------------------------------------------------------------------------------------- + +* Resolves: `#4595 `_ + +It seems a cache's ``has`` operation doesnt work that reliable thats why we will be using ``get`` instead and check against false. + +**Upgrade instructions** + + +* Packages: ``Neos`` ``Fusion`` + +`BUGFIX: Add dimensions to Workspace module `_ +------------------------------------------------------------------------------------------------------------- + +resolves: `#3470 `_ + +This adds Dimension handling to the current workspaces module. + +Currently the Module only displays changes in different languages as one change. This is because the node path is the same in different languages after they are copied. + + +* Packages: ``Neos`` + +`BUGFIX: Fusion avoid error on cache invalidation while developing `_ +------------------------------------------------------------------------------------------------------------------------------------ + +Replaces `#4509 `_ +* Resolves: `#4415 `_ + +After deleting a fusion file like ``BrandLogo.fusion`` one will face the error after booting flow and thus triggering the file monitor and its listeners: (even like a simple ``flow help``) + +``` +Couldn't resolve realpath for: '/absolutePath/Code/core/Neos.NeosIo/Packages/Sites/Neos.NeosIo/Resources/Private/Fusion/Content/BrandLogo/BrandLogo.fusion' +``` + +This is caused as ``realpath`` returns false if the file was deleted, and we were to eager validating this. But as flows file monitor already returns absolute paths we can skip the realpath calculation here and move it to the ``ParserCache::cacheForFusionFile``. Initially the call to ``realpath`` was made in a single place to avoid making to many assumptions about the form flow returned file paths. + +**Upgrade instructions** + + +* Packages: ``Neos`` ``Fusion`` + +`Detailed log `_ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 8ee8a61ab9695147850f730525b8a6447fcc4c80 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 16:45:13 +0000 Subject: [PATCH 13/20] TASK: Add changelog for 8.1.12 [skip ci] See https://jenkins.neos.io/job/neos-release/422/ --- .../Appendixes/ChangeLogs/8112.rst | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 Neos.Neos/Documentation/Appendixes/ChangeLogs/8112.rst diff --git a/Neos.Neos/Documentation/Appendixes/ChangeLogs/8112.rst b/Neos.Neos/Documentation/Appendixes/ChangeLogs/8112.rst new file mode 100644 index 00000000000..35c72db1b34 --- /dev/null +++ b/Neos.Neos/Documentation/Appendixes/ChangeLogs/8112.rst @@ -0,0 +1,149 @@ +`8.1.12 (2024-02-23) `_ +================================================================================================ + +Overview of merged pull requests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`BUGFIX: Fusion parser fix multi line comment `_ +--------------------------------------------------------------------------------------------------------------- + +This fixes a bug where the Fusion parser would not parse following c-style comments correctly: + +``` +/** +comment with multiple stars even +**/ +``` + +This happed when the ending count of ``*`` was even. So ending a comment with ``***/`` worked previously. + +Now we use the "correct" regex from Jeffrey E.F. Friedl's book "Mastering Regular Expressions" Page 272 "Unrolling C Comments" +We already use his regex for string matching and it is really fast due to the unrolled loop. Faster than using the lazy quantifier ``~^/\\*.*?\\*/~s``. + +I did a performance test with 1 million iteration on three different comment samples (with each sample having a dynamic part to clear possible caches): + +| Unrolled (this pr) | Simple Lazy Quantifier | +|--------|--------| +| 0.143725s | 0.160235s | +| 0.181047s | 0.203759s | +| 0.156254s | 0.170144s | + + +Additionally the error message for comments starting with ``/**`` was improved. Previously $nextLine->char(1) would return ``**`` instead of just one ``*`` because wrongly implemented. + +**Upgrade instructions** + + +* Packages: ``Fusion`` + +`BUGFIX: Use a dynamic URL for user impersonation `_ +------------------------------------------------------------------------------------------------------------------- + +As described in the issue, the impersonation does not work when Neos is running in a subfolder. This change adds a data attribute with a dynamic URL to the DOM, and the user impersonation is using this module URL as base. + +* Fixes: `#4797 `_ + +**Review instructions** + +Use the user impersonation in the Backend modules (User Management and other) when Neos is running in a subfolder. +e.g. BASEURL.com/cms/neos + + +* Packages: ``Neos`` + +`BUGFIX: Add assetcollection privilege condition to asset edit view in Media.Browser `_ +------------------------------------------------------------------------------------------------------------------------------------------------------ + +In the Media.Browser you can change the AssetCollections via checkboxes even when you don't have the privilege (Neos.Media.Browser:ManageAssetCollections) to do so. +With this PR the checkboxes are only rendered with the right privilege. + +* Packages: ``Neos`` ``Media.Browser`` + +`BUGFIX: MenuHelper uses content dimensions to get node for privilege check `_ +--------------------------------------------------------------------------------------------------------------------------------------------- + +* Resolves: `#4625 `_ + +The Neos backend MenuHelper received a bugfix to filter sites listed by the menu using NodePrivileges. In case of sites with multiple dimensions the dimensionCombinations are considered too. + +**Upgrade instructions** + +**Review instructions** + +This bugfix tries to fix #4025. If 7.3 and upwards is used on a multi site project with multiple dimensions, it might be that +``` +$node = $context->getNode(\\Neos\\ContentRepository\\Domain\\Utility\\NodePaths::addNodePathSegment(SiteService::SITES_ROOT_PATH, $site->getNodeName())); +``` +returns ``null``, causing the next line +``` +if ($this->privilegeManager->isGranted(NodeTreePrivilege::class, new NodePrivilegeSubject($node))) { +``` +to throw an exception. Thus the backend is not accessible anymore. +The reason is, that for multisite projects with multiple dimensions it might be that ``$node`` cannot be retrieved by the default context created. + +The fix is to use ``contentDimensionCombinator`` and also to explicitly check if ``$node`` could be retrieved. +I'm also using the property ``invisibleContentShown`` and ``inaccessibleContentShown`` because it might be that an editor set the Home of a site to ``hidden`` by mistake. Thus the site might not accessible via the menu anymore to possibly fix an editor mistake. + + +* Packages: ``Neos`` + +`BUGFIX: Fusion avoid error parser cache to crash if cache is broken `_ +-------------------------------------------------------------------------------------------------------------------------------------- + +* Resolves: `#4595 `_ + +It seems a cache's ``has`` operation doesnt work that reliable thats why we will be using ``get`` instead and check against false. + +**Upgrade instructions** + + +* Packages: ``Neos`` ``Fusion`` + +`BUGFIX: Add dimensions to Workspace module `_ +------------------------------------------------------------------------------------------------------------- + +resolves: `#3470 `_ + +This adds Dimension handling to the current workspaces module. + +Currently the Module only displays changes in different languages as one change. This is because the node path is the same in different languages after they are copied. + + +* Packages: ``Neos`` + +`BUGFIX: Fusion avoid error on cache invalidation while developing `_ +------------------------------------------------------------------------------------------------------------------------------------ + +Replaces `#4509 `_ +* Resolves: `#4415 `_ + +After deleting a fusion file like ``BrandLogo.fusion`` one will face the error after booting flow and thus triggering the file monitor and its listeners: (even like a simple ``flow help``) + +``` +Couldn't resolve realpath for: '/absolutePath/Code/core/Neos.NeosIo/Packages/Sites/Neos.NeosIo/Resources/Private/Fusion/Content/BrandLogo/BrandLogo.fusion' +``` + +This is caused as ``realpath`` returns false if the file was deleted, and we were to eager validating this. But as flows file monitor already returns absolute paths we can skip the realpath calculation here and move it to the ``ParserCache::cacheForFusionFile``. Initially the call to ``realpath`` was made in a single place to avoid making to many assumptions about the form flow returned file paths. + +**Upgrade instructions** + + +* Packages: ``Neos`` ``Fusion`` + +`BUGFIX: More precise selection of the DomNode with CSFR token `_ +-------------------------------------------------------------------------------------------------------------------------------- + +To prevent issues with selecting the wrong CSFR Token in the DOM, we now have a more precise selection of the DomNode with the CSFR token. + +fixes: `#4822 `_ + +**Review instructions** + +Install a version before 1.0.1 of the `Shel.Neos.WorkspaceModule `_ +and go to the user management module to impersonate a user. Then switch to the Workspace module and try to restore the original user. Without this patch, it should fail. With version 1.0.1 it will not fail btw. + + +* Packages: ``Media.Browser`` ``Neos`` + +`Detailed log `_ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From d3163790f6bec4485524504369c2b3dbdd62ae72 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 16:45:29 +0000 Subject: [PATCH 14/20] TASK: Update references [skip ci] --- Neos.Neos/Documentation/References/CommandReference.rst | 2 +- Neos.Neos/Documentation/References/EelHelpersReference.rst | 2 +- .../Documentation/References/FlowQueryOperationReference.rst | 2 +- .../Documentation/References/Signals/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/Signals/Flow.rst | 2 +- Neos.Neos/Documentation/References/Signals/Media.rst | 2 +- Neos.Neos/Documentation/References/Signals/Neos.rst | 2 +- Neos.Neos/Documentation/References/Validators/Flow.rst | 2 +- Neos.Neos/Documentation/References/Validators/Media.rst | 2 +- Neos.Neos/Documentation/References/Validators/Party.rst | 2 +- .../Documentation/References/ViewHelpers/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Form.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Media.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Neos.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Neos.Neos/Documentation/References/CommandReference.rst b/Neos.Neos/Documentation/References/CommandReference.rst index d67ac462028..92b9d10fa04 100644 --- a/Neos.Neos/Documentation/References/CommandReference.rst +++ b/Neos.Neos/Documentation/References/CommandReference.rst @@ -19,7 +19,7 @@ commands that may be available, use:: ./flow help -The following reference was automatically generated from code on 2024-02-16 +The following reference was automatically generated from code on 2024-02-23 .. _`Neos Command Reference: NEOS.CONTENTREPOSITORY`: diff --git a/Neos.Neos/Documentation/References/EelHelpersReference.rst b/Neos.Neos/Documentation/References/EelHelpersReference.rst index 40f9962dfd4..5fb9e5ef401 100644 --- a/Neos.Neos/Documentation/References/EelHelpersReference.rst +++ b/Neos.Neos/Documentation/References/EelHelpersReference.rst @@ -3,7 +3,7 @@ Eel Helpers Reference ===================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Eel Helpers Reference: Api`: diff --git a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst index d6c385b43fa..3161d5f826c 100644 --- a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst +++ b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst @@ -3,7 +3,7 @@ FlowQuery Operation Reference ============================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`FlowQuery Operation Reference: add`: diff --git a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst index 31f179b08f6..b46f0cfa667 100644 --- a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository Signals Reference ==================================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Content Repository Signals Reference: Context (``Neos\ContentRepository\Domain\Service\Context``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Flow.rst b/Neos.Neos/Documentation/References/Signals/Flow.rst index 818983f0024..42ddadfb9be 100644 --- a/Neos.Neos/Documentation/References/Signals/Flow.rst +++ b/Neos.Neos/Documentation/References/Signals/Flow.rst @@ -3,7 +3,7 @@ Flow Signals Reference ====================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Flow Signals Reference: AbstractAdvice (``Neos\Flow\Aop\Advice\AbstractAdvice``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Media.rst b/Neos.Neos/Documentation/References/Signals/Media.rst index 23378239bbe..484504d7b19 100644 --- a/Neos.Neos/Documentation/References/Signals/Media.rst +++ b/Neos.Neos/Documentation/References/Signals/Media.rst @@ -3,7 +3,7 @@ Media Signals Reference ======================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media Signals Reference: AssetCollectionController (``Neos\Media\Browser\Controller\AssetCollectionController``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Neos.rst b/Neos.Neos/Documentation/References/Signals/Neos.rst index 2518bc678f3..e8606bfa532 100644 --- a/Neos.Neos/Documentation/References/Signals/Neos.rst +++ b/Neos.Neos/Documentation/References/Signals/Neos.rst @@ -3,7 +3,7 @@ Neos Signals Reference ====================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Neos Signals Reference: AbstractCreate (``Neos\Neos\Ui\Domain\Model\Changes\AbstractCreate``)`: diff --git a/Neos.Neos/Documentation/References/Validators/Flow.rst b/Neos.Neos/Documentation/References/Validators/Flow.rst index f64bc9b7656..804ce67ac20 100644 --- a/Neos.Neos/Documentation/References/Validators/Flow.rst +++ b/Neos.Neos/Documentation/References/Validators/Flow.rst @@ -3,7 +3,7 @@ Flow Validator Reference ======================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Flow Validator Reference: AggregateBoundaryValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Media.rst b/Neos.Neos/Documentation/References/Validators/Media.rst index 4fea9b141ea..7ecf6c81025 100644 --- a/Neos.Neos/Documentation/References/Validators/Media.rst +++ b/Neos.Neos/Documentation/References/Validators/Media.rst @@ -3,7 +3,7 @@ Media Validator Reference ========================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media Validator Reference: ImageOrientationValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Party.rst b/Neos.Neos/Documentation/References/Validators/Party.rst index b193054a97b..10ea9468e98 100644 --- a/Neos.Neos/Documentation/References/Validators/Party.rst +++ b/Neos.Neos/Documentation/References/Validators/Party.rst @@ -3,7 +3,7 @@ Party Validator Reference ========================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Party Validator Reference: AimAddressValidator`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst index eec4fb06755..2e4940064e2 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository ViewHelper Reference ####################################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Content Repository ViewHelper Reference: PaginateViewHelper`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst index f2abc867e4a..442153392b6 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst @@ -3,7 +3,7 @@ FluidAdaptor ViewHelper Reference ################################# -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`FluidAdaptor ViewHelper Reference: f:debug`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst index 9f1c2d2a0dc..a4a120ebfcc 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst @@ -3,7 +3,7 @@ Form ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Form ViewHelper Reference: neos.form:form`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst index 0f1e9d977ad..1528580d0ac 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst @@ -3,7 +3,7 @@ Fusion ViewHelper Reference ########################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Fusion ViewHelper Reference: fusion:render`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst index 9ea12d8305d..3c9c0d7fa94 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst @@ -3,7 +3,7 @@ Media ViewHelper Reference ########################## -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media ViewHelper Reference: neos.media:fileTypeIcon`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst index 9c4c9890797..b3a78a0c559 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst @@ -3,7 +3,7 @@ Neos ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Neos ViewHelper Reference: neos:backend.authenticationProviderLabel`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst index 34a287a43eb..7e8e100693a 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst @@ -3,7 +3,7 @@ TYPO3 Fluid ViewHelper Reference ################################ -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`TYPO3 Fluid ViewHelper Reference: f:alias`: From d2d167bd166f75f6bc4ef3f64e2cefbc54858343 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 16:52:07 +0000 Subject: [PATCH 15/20] TASK: Add changelog for 8.2.12 [skip ci] See https://jenkins.neos.io/job/neos-release/423/ --- .../Appendixes/ChangeLogs/8212.rst | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 Neos.Neos/Documentation/Appendixes/ChangeLogs/8212.rst diff --git a/Neos.Neos/Documentation/Appendixes/ChangeLogs/8212.rst b/Neos.Neos/Documentation/Appendixes/ChangeLogs/8212.rst new file mode 100644 index 00000000000..1e5320ff013 --- /dev/null +++ b/Neos.Neos/Documentation/Appendixes/ChangeLogs/8212.rst @@ -0,0 +1,149 @@ +`8.2.12 (2024-02-23) `_ +================================================================================================ + +Overview of merged pull requests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`BUGFIX: Fusion parser fix multi line comment `_ +--------------------------------------------------------------------------------------------------------------- + +This fixes a bug where the Fusion parser would not parse following c-style comments correctly: + +``` +/** +comment with multiple stars even +**/ +``` + +This happed when the ending count of ``*`` was even. So ending a comment with ``***/`` worked previously. + +Now we use the "correct" regex from Jeffrey E.F. Friedl's book "Mastering Regular Expressions" Page 272 "Unrolling C Comments" +We already use his regex for string matching and it is really fast due to the unrolled loop. Faster than using the lazy quantifier ``~^/\\*.*?\\*/~s``. + +I did a performance test with 1 million iteration on three different comment samples (with each sample having a dynamic part to clear possible caches): + +| Unrolled (this pr) | Simple Lazy Quantifier | +|--------|--------| +| 0.143725s | 0.160235s | +| 0.181047s | 0.203759s | +| 0.156254s | 0.170144s | + + +Additionally the error message for comments starting with ``/**`` was improved. Previously $nextLine->char(1) would return ``**`` instead of just one ``*`` because wrongly implemented. + +**Upgrade instructions** + + +* Packages: ``Fusion`` + +`BUGFIX: Use a dynamic URL for user impersonation `_ +------------------------------------------------------------------------------------------------------------------- + +As described in the issue, the impersonation does not work when Neos is running in a subfolder. This change adds a data attribute with a dynamic URL to the DOM, and the user impersonation is using this module URL as base. + +* Fixes: `#4797 `_ + +**Review instructions** + +Use the user impersonation in the Backend modules (User Management and other) when Neos is running in a subfolder. +e.g. BASEURL.com/cms/neos + + +* Packages: ``Neos`` + +`BUGFIX: Add assetcollection privilege condition to asset edit view in Media.Browser `_ +------------------------------------------------------------------------------------------------------------------------------------------------------ + +In the Media.Browser you can change the AssetCollections via checkboxes even when you don't have the privilege (Neos.Media.Browser:ManageAssetCollections) to do so. +With this PR the checkboxes are only rendered with the right privilege. + +* Packages: ``Neos`` ``Media.Browser`` + +`BUGFIX: MenuHelper uses content dimensions to get node for privilege check `_ +--------------------------------------------------------------------------------------------------------------------------------------------- + +* Resolves: `#4625 `_ + +The Neos backend MenuHelper received a bugfix to filter sites listed by the menu using NodePrivileges. In case of sites with multiple dimensions the dimensionCombinations are considered too. + +**Upgrade instructions** + +**Review instructions** + +This bugfix tries to fix #4025. If 7.3 and upwards is used on a multi site project with multiple dimensions, it might be that +``` +$node = $context->getNode(\\Neos\\ContentRepository\\Domain\\Utility\\NodePaths::addNodePathSegment(SiteService::SITES_ROOT_PATH, $site->getNodeName())); +``` +returns ``null``, causing the next line +``` +if ($this->privilegeManager->isGranted(NodeTreePrivilege::class, new NodePrivilegeSubject($node))) { +``` +to throw an exception. Thus the backend is not accessible anymore. +The reason is, that for multisite projects with multiple dimensions it might be that ``$node`` cannot be retrieved by the default context created. + +The fix is to use ``contentDimensionCombinator`` and also to explicitly check if ``$node`` could be retrieved. +I'm also using the property ``invisibleContentShown`` and ``inaccessibleContentShown`` because it might be that an editor set the Home of a site to ``hidden`` by mistake. Thus the site might not accessible via the menu anymore to possibly fix an editor mistake. + + +* Packages: ``Neos`` + +`BUGFIX: Fusion avoid error parser cache to crash if cache is broken `_ +-------------------------------------------------------------------------------------------------------------------------------------- + +* Resolves: `#4595 `_ + +It seems a cache's ``has`` operation doesnt work that reliable thats why we will be using ``get`` instead and check against false. + +**Upgrade instructions** + + +* Packages: ``Neos`` ``Fusion`` + +`BUGFIX: Add dimensions to Workspace module `_ +------------------------------------------------------------------------------------------------------------- + +resolves: `#3470 `_ + +This adds Dimension handling to the current workspaces module. + +Currently the Module only displays changes in different languages as one change. This is because the node path is the same in different languages after they are copied. + + +* Packages: ``Neos`` + +`BUGFIX: Fusion avoid error on cache invalidation while developing `_ +------------------------------------------------------------------------------------------------------------------------------------ + +Replaces `#4509 `_ +* Resolves: `#4415 `_ + +After deleting a fusion file like ``BrandLogo.fusion`` one will face the error after booting flow and thus triggering the file monitor and its listeners: (even like a simple ``flow help``) + +``` +Couldn't resolve realpath for: '/absolutePath/Code/core/Neos.NeosIo/Packages/Sites/Neos.NeosIo/Resources/Private/Fusion/Content/BrandLogo/BrandLogo.fusion' +``` + +This is caused as ``realpath`` returns false if the file was deleted, and we were to eager validating this. But as flows file monitor already returns absolute paths we can skip the realpath calculation here and move it to the ``ParserCache::cacheForFusionFile``. Initially the call to ``realpath`` was made in a single place to avoid making to many assumptions about the form flow returned file paths. + +**Upgrade instructions** + + +* Packages: ``Neos`` ``Fusion`` + +`BUGFIX: More precise selection of the DomNode with CSFR token `_ +-------------------------------------------------------------------------------------------------------------------------------- + +To prevent issues with selecting the wrong CSFR Token in the DOM, we now have a more precise selection of the DomNode with the CSFR token. + +fixes: `#4822 `_ + +**Review instructions** + +Install a version before 1.0.1 of the `Shel.Neos.WorkspaceModule `_ +and go to the user management module to impersonate a user. Then switch to the Workspace module and try to restore the original user. Without this patch, it should fail. With version 1.0.1 it will not fail btw. + + +* Packages: ``Media.Browser`` ``Neos`` + +`Detailed log `_ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From f0fe89097093c8bcbe6c061085c8f864d85415b5 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 16:52:17 +0000 Subject: [PATCH 16/20] TASK: Update references [skip ci] --- Neos.Neos/Documentation/References/CommandReference.rst | 2 +- Neos.Neos/Documentation/References/EelHelpersReference.rst | 2 +- .../Documentation/References/FlowQueryOperationReference.rst | 2 +- .../Documentation/References/Signals/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/Signals/Flow.rst | 2 +- Neos.Neos/Documentation/References/Signals/Media.rst | 2 +- Neos.Neos/Documentation/References/Signals/Neos.rst | 2 +- Neos.Neos/Documentation/References/Validators/Flow.rst | 2 +- Neos.Neos/Documentation/References/Validators/Media.rst | 2 +- Neos.Neos/Documentation/References/Validators/Party.rst | 2 +- .../Documentation/References/ViewHelpers/ContentRepository.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Form.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Media.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/Neos.rst | 2 +- Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Neos.Neos/Documentation/References/CommandReference.rst b/Neos.Neos/Documentation/References/CommandReference.rst index d67ac462028..92b9d10fa04 100644 --- a/Neos.Neos/Documentation/References/CommandReference.rst +++ b/Neos.Neos/Documentation/References/CommandReference.rst @@ -19,7 +19,7 @@ commands that may be available, use:: ./flow help -The following reference was automatically generated from code on 2024-02-16 +The following reference was automatically generated from code on 2024-02-23 .. _`Neos Command Reference: NEOS.CONTENTREPOSITORY`: diff --git a/Neos.Neos/Documentation/References/EelHelpersReference.rst b/Neos.Neos/Documentation/References/EelHelpersReference.rst index 40f9962dfd4..5fb9e5ef401 100644 --- a/Neos.Neos/Documentation/References/EelHelpersReference.rst +++ b/Neos.Neos/Documentation/References/EelHelpersReference.rst @@ -3,7 +3,7 @@ Eel Helpers Reference ===================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Eel Helpers Reference: Api`: diff --git a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst index d6c385b43fa..3161d5f826c 100644 --- a/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst +++ b/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst @@ -3,7 +3,7 @@ FlowQuery Operation Reference ============================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`FlowQuery Operation Reference: add`: diff --git a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst index 31f179b08f6..b46f0cfa667 100644 --- a/Neos.Neos/Documentation/References/Signals/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/Signals/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository Signals Reference ==================================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Content Repository Signals Reference: Context (``Neos\ContentRepository\Domain\Service\Context``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Flow.rst b/Neos.Neos/Documentation/References/Signals/Flow.rst index 818983f0024..42ddadfb9be 100644 --- a/Neos.Neos/Documentation/References/Signals/Flow.rst +++ b/Neos.Neos/Documentation/References/Signals/Flow.rst @@ -3,7 +3,7 @@ Flow Signals Reference ====================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Flow Signals Reference: AbstractAdvice (``Neos\Flow\Aop\Advice\AbstractAdvice``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Media.rst b/Neos.Neos/Documentation/References/Signals/Media.rst index 23378239bbe..484504d7b19 100644 --- a/Neos.Neos/Documentation/References/Signals/Media.rst +++ b/Neos.Neos/Documentation/References/Signals/Media.rst @@ -3,7 +3,7 @@ Media Signals Reference ======================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media Signals Reference: AssetCollectionController (``Neos\Media\Browser\Controller\AssetCollectionController``)`: diff --git a/Neos.Neos/Documentation/References/Signals/Neos.rst b/Neos.Neos/Documentation/References/Signals/Neos.rst index 2518bc678f3..e8606bfa532 100644 --- a/Neos.Neos/Documentation/References/Signals/Neos.rst +++ b/Neos.Neos/Documentation/References/Signals/Neos.rst @@ -3,7 +3,7 @@ Neos Signals Reference ====================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Neos Signals Reference: AbstractCreate (``Neos\Neos\Ui\Domain\Model\Changes\AbstractCreate``)`: diff --git a/Neos.Neos/Documentation/References/Validators/Flow.rst b/Neos.Neos/Documentation/References/Validators/Flow.rst index f64bc9b7656..804ce67ac20 100644 --- a/Neos.Neos/Documentation/References/Validators/Flow.rst +++ b/Neos.Neos/Documentation/References/Validators/Flow.rst @@ -3,7 +3,7 @@ Flow Validator Reference ======================== -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Flow Validator Reference: AggregateBoundaryValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Media.rst b/Neos.Neos/Documentation/References/Validators/Media.rst index 4fea9b141ea..7ecf6c81025 100644 --- a/Neos.Neos/Documentation/References/Validators/Media.rst +++ b/Neos.Neos/Documentation/References/Validators/Media.rst @@ -3,7 +3,7 @@ Media Validator Reference ========================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media Validator Reference: ImageOrientationValidator`: diff --git a/Neos.Neos/Documentation/References/Validators/Party.rst b/Neos.Neos/Documentation/References/Validators/Party.rst index b193054a97b..10ea9468e98 100644 --- a/Neos.Neos/Documentation/References/Validators/Party.rst +++ b/Neos.Neos/Documentation/References/Validators/Party.rst @@ -3,7 +3,7 @@ Party Validator Reference ========================= -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Party Validator Reference: AimAddressValidator`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst index eec4fb06755..2e4940064e2 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst @@ -3,7 +3,7 @@ Content Repository ViewHelper Reference ####################################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Content Repository ViewHelper Reference: PaginateViewHelper`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst index f2abc867e4a..442153392b6 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst @@ -3,7 +3,7 @@ FluidAdaptor ViewHelper Reference ################################# -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`FluidAdaptor ViewHelper Reference: f:debug`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst index 9f1c2d2a0dc..a4a120ebfcc 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Form.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Form.rst @@ -3,7 +3,7 @@ Form ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Form ViewHelper Reference: neos.form:form`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst index 0f1e9d977ad..1528580d0ac 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst @@ -3,7 +3,7 @@ Fusion ViewHelper Reference ########################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Fusion ViewHelper Reference: fusion:render`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst index 9ea12d8305d..3c9c0d7fa94 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Media.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Media.rst @@ -3,7 +3,7 @@ Media ViewHelper Reference ########################## -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Media ViewHelper Reference: neos.media:fileTypeIcon`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst index 9c4c9890797..b3a78a0c559 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst @@ -3,7 +3,7 @@ Neos ViewHelper Reference ######################### -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`Neos ViewHelper Reference: neos:backend.authenticationProviderLabel`: diff --git a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst index 34a287a43eb..7e8e100693a 100644 --- a/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst +++ b/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst @@ -3,7 +3,7 @@ TYPO3 Fluid ViewHelper Reference ################################ -This reference was automatically generated from code on 2024-02-16 +This reference was automatically generated from code on 2024-02-23 .. _`TYPO3 Fluid ViewHelper Reference: f:alias`: From 6d75db262d35d137b63b604ff46fe1e83ef844d9 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 16:58:26 +0000 Subject: [PATCH 17/20] TASK: Add changelog for 8.3.10 [skip ci] See https://jenkins.neos.io/job/neos-release/424/ --- .../Appendixes/ChangeLogs/8310.rst | 464 ++++++++++++++++++ 1 file changed, 464 insertions(+) create mode 100644 Neos.Neos/Documentation/Appendixes/ChangeLogs/8310.rst diff --git a/Neos.Neos/Documentation/Appendixes/ChangeLogs/8310.rst b/Neos.Neos/Documentation/Appendixes/ChangeLogs/8310.rst new file mode 100644 index 00000000000..066cd6277ed --- /dev/null +++ b/Neos.Neos/Documentation/Appendixes/ChangeLogs/8310.rst @@ -0,0 +1,464 @@ +`8.3.10 (2024-02-23) `_ +================================================================================================ + +Overview of merged pull requests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`BUGFIX: Allow dimension preset keys to be different from values for DimensionsMenu `_ +----------------------------------------------------------------------------------------------------------------------------------------------------- + +This removes the implicit convention that dimensionPresetKey must be the same as the dimensionValue. + +**Review instructions** +- Follow the manual to set up a bilingual site: https://docs.neos.io/guide/manual/content-repository/content-dimensions/multiple-languages#configuring-a-bilingual-site +- Open frontend with rendering of ``Neos.Neos:DimensionsMenu`` + +Fixes https://github.com/neos/neos-development-collection/issues/4857 + +* Packages: ``Neos`` + +`BUGFIX: Allow non-entity asset variants `_ +---------------------------------------------------------------------------------------------------------- + +Allow implementations of the ``AssetVariantInterface`` to not be doctrine entities. + +Without this fix, all ``AssetRepository::find*()`` calls lead to an exception when a class implements the interface but is not an entity (for example because it is just used to generate dummy images for Monocle). + +## Steps to reproduce + +1. Implement the interface with a new custom class like + +```php +final class DummyImageVariant implements AssetVariantInterface { + // ... +} +``` + +2. Trigger ``AssetRepository::find*()`` method, eg. by invoking ``./ flow media:removeunused`` + +### Expected result + +No error, the custom implementation should be ignored + +### Actual result + +Exception: + +``` +Failure while fetching class schema class "Some\\Package\\DummyImageVariant": No class schema found for "Some\\Package\\DummyImageVariant". + + Type: Doctrine\\ORM\\Mapping\\MappingException + Code: 1542792708 + File: Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Flow_Persist + ence_Doctrine_Mapping_Driver_FlowAnnotationDriver.php + Line: 187 +``` + +* Packages: ``Media`` + +`BUGFIX: Neos Ui JSON serializable property values `_ +-------------------------------------------------------------------------------------------------------------------- + +This bugfix will make use of the ``\\JsonSerializable`` interface instead directly when serializing properties for the neos ui. + +With https://github.com/neos/flow-development-collection/pull/2762 native support for vo's in ``flow_json_array`` was introduced. + +That also allows value object support for node properties, as they can be stored directly the node properties flow_json_array. + +Unfortunately the property serialisation for the NeosUi does NOT use the expected ``\\JsonSerializable::jsonSerialize`` but the property mapper and the ``ArrayFromObjectConverter`` for object types to get an array that will be json encoded. + +This works mostly fine but in some cases it fails: +- when your ``fromArray`` fields and property names values dont match +- when a "object" subtypes the object mapper is no convertable like the ``GuzzleHttp\\Psr7\\Uri``: + +``` +Too few arguments to function GuzzleHttp\\Psr7\\Uri::isAbsolute(), 0 passed in /core/neos-manufacture-highest/Packages/Framework/Neos.Utility.ObjectHandling/Classes/ObjectAccess.php on line 151 and exactly 1 expected + +72 GuzzleHttp\\Psr7\\Uri::isAbsolute() +71 Neos\\Utility\\ObjectAccess::getPropertyInternal(GuzzleHttp\\Psr7\\Uri, "absolute", false, true) +70 Neos\\Utility\\ObjectAccess::getGettableProperties(GuzzleHttp\\Psr7\\Uri) +69 Neos\\Flow\\Property\\TypeConverter\\ArrayFromObjectConverter_Original::getSourceChildPropertiesToBeConverted(GuzzleHttp\\Psr7\\Uri) +``` + +Current workarounds are aop: +https://github.com/sitegeist/Sitegeist.InspectorGadget/blob/`78f5f4a206287b1c4bedf5cb88582ed51cb4a311 `_/Classes/Infrastructure/NodeInfo/NodeInfoPostProcessingAspect.php#L17 +Or to use a dumb property mapper: +https://github.com/sitegeist/Sitegeist.Archaeopteryx/blob/`9322b9cb8e4824bcaf7aaa247c23b1244a2f1167 `_/Classes/LinkToArrayForNeosUiConverter.php#L12C16-L12C78 + + + +**Upgrade instructions** + + +* Packages: ``Neos`` ``ContentRepository`` + +`BUGFIX: Private props obscure error `_ +------------------------------------------------------------------------------------------------------ + +…uated + +instead of the original error that something went wrong + +> Circular reference detected while evaluating prop: "private.thepath" + +is shown. + +That happens because the locking didnt anticipate this case. + +**Upgrade instructions** + +**Review instructions** + +this code reproduces the problem ... yes i know :D + +``` +prototype(YourVendor:FusionPrototype) < prototype(Neos.Fusion:Component) { + @private { + lol = ${true} + throwingPath = ${private.lol && NonExistingFunctionError()} + } + + renderer = YourVendor:FusionPrototypeWithPrivate { + content = ${private.throwingPath} + } +} + +prototype(YourVendor:FusionPrototypeWithPrivate) < prototype(Neos.Fusion:Component) { + renderer = ${props.content} +} +``` + + + +* Packages: ``Neos`` ``Fusion`` + +`BUGFIX: Fusion parser fix multi line comment `_ +--------------------------------------------------------------------------------------------------------------- + +This fixes a bug where the Fusion parser would not parse following c-style comments correctly: + +``` +/** +comment with multiple stars even +**/ +``` + +This happed when the ending count of ``*`` was even. So ending a comment with ``***/`` worked previously. + +Now we use the "correct" regex from Jeffrey E.F. Friedl's book "Mastering Regular Expressions" Page 272 "Unrolling C Comments" +We already use his regex for string matching and it is really fast due to the unrolled loop. Faster than using the lazy quantifier ``~^/\\*.*?\\*/~s``. + +I did a performance test with 1 million iteration on three different comment samples (with each sample having a dynamic part to clear possible caches): + +| Unrolled (this pr) | Simple Lazy Quantifier | +|--------|--------| +| 0.143725s | 0.160235s | +| 0.181047s | 0.203759s | +| 0.156254s | 0.170144s | + + +Additionally the error message for comments starting with ``/**`` was improved. Previously $nextLine->char(1) would return ``**`` instead of just one ``*`` because wrongly implemented. + +**Upgrade instructions** + + +* Packages: ``Fusion`` + +`BUGFIX: Use a dynamic URL for user impersonation `_ +------------------------------------------------------------------------------------------------------------------- + +As described in the issue, the impersonation does not work when Neos is running in a subfolder. This change adds a data attribute with a dynamic URL to the DOM, and the user impersonation is using this module URL as base. + +* Fixes: `#4797 `_ + +**Review instructions** + +Use the user impersonation in the Backend modules (User Management and other) when Neos is running in a subfolder. +e.g. BASEURL.com/cms/neos + + +* Packages: ``Neos`` + +`BUGFIX: Add assetcollection privilege condition to asset edit view in Media.Browser `_ +------------------------------------------------------------------------------------------------------------------------------------------------------ + +In the Media.Browser you can change the AssetCollections via checkboxes even when you don't have the privilege (Neos.Media.Browser:ManageAssetCollections) to do so. +With this PR the checkboxes are only rendered with the right privilege. + +* Packages: ``Neos`` ``Media.Browser`` + +`BUGFIX: MenuHelper uses content dimensions to get node for privilege check `_ +--------------------------------------------------------------------------------------------------------------------------------------------- + +* Resolves: `#4625 `_ + +The Neos backend MenuHelper received a bugfix to filter sites listed by the menu using NodePrivileges. In case of sites with multiple dimensions the dimensionCombinations are considered too. + +**Upgrade instructions** + +**Review instructions** + +This bugfix tries to fix #4025. If 7.3 and upwards is used on a multi site project with multiple dimensions, it might be that +``` +$node = $context->getNode(\\Neos\\ContentRepository\\Domain\\Utility\\NodePaths::addNodePathSegment(SiteService::SITES_ROOT_PATH, $site->getNodeName())); +``` +returns ``null``, causing the next line +``` +if ($this->privilegeManager->isGranted(NodeTreePrivilege::class, new NodePrivilegeSubject($node))) { +``` +to throw an exception. Thus the backend is not accessible anymore. +The reason is, that for multisite projects with multiple dimensions it might be that ``$node`` cannot be retrieved by the default context created. + +The fix is to use ``contentDimensionCombinator`` and also to explicitly check if ``$node`` could be retrieved. +I'm also using the property ``invisibleContentShown`` and ``inaccessibleContentShown`` because it might be that an editor set the Home of a site to ``hidden`` by mistake. Thus the site might not accessible via the menu anymore to possibly fix an editor mistake. + + +* Packages: ``Neos`` + +`BUGFIX: Prevent cache overflow when querying nodes by related entities `_ +----------------------------------------------------------------------------------------------------------------------------------------- + +Without this change new cache entries in Flow_Persistence_Doctrine are generated for each entry in the relationMap causing massive slowdowns in Neos f.e. when many assets are deleted as the file system cache cannot handle large numbers of entries well. + +With this change only one entry per number of relations is generated which is usually only a few and the entries can be reused. + +* Resolves: `#4876 `_ + +* Packages: ``Neos`` ``ContentRepository`` + +`BUGFIX: Followup `nodeTypes:show` with `--path` to primitive value `_ +------------------------------------------------------------------------------------------------------------------------------------- + +* Related: `#4619 `_ + +Primitive values cannot be shown currently: + +``` +flow nodetypes:show Neos.Neos:Document --path properties.title.ui.label +Neos\\ContentRepository\\Command\\NodeTypesCommandController_Original::truncateArrayAtLevel(): Argument `#1 `_($array) must be of type array, string given +``` + +**Upgrade instructions** + + +* Packages: ``Neos`` ``ContentRepository`` + +`BUGFIX: Fusion avoid error parser cache to crash if cache is broken `_ +-------------------------------------------------------------------------------------------------------------------------------------- + +* Resolves: `#4595 `_ + +It seems a cache's ``has`` operation doesnt work that reliable thats why we will be using ``get`` instead and check against false. + +**Upgrade instructions** + + +* Packages: ``Neos`` ``Fusion`` + +`BUGFIX: #3624 Node::getProperty does not always return list for references `_ +--------------------------------------------------------------------------------------------------------------------------------------------- + +EEL can only operate on an array of nodes if the ``[0]`` item is a node (simple duck typing) + +Instead of fixing eel like proposed here https://github.com/neos/neos-development-collection/pull/3946 with this fix we avoid returning non 0 indexed arrays here: + +``` +${q(node).property("someReference")} +``` + +Currently, this might indeed return an array with holes like ``[1 => NODE, 2 => NODE, 5 => NODE]`` if the identifiers in fields 0, 3 and 4 are not resolvable. + +Thats because of the "unsafe" ``array_filter`` method in ``resolvePropertyReferences`` https://github.com/neos/neos-development-collection/blob/`378a029d0cc7ea6acb853751e7592873584a4aac `_/Neos.ContentRepository/Classes/Domain/Model/Node.php#L961 which will leave holes in the array. + +Using ``array_filter`` was introduced with Neos 2.2 so this is technically a regression of https://github.com/neos/neos-development-collection/commit/`87804e12082e7d6d06bd22f50739e20eeaa45539 `_ ^^ + +* Fixes: `#3624 `_ + +* Packages: ``Neos`` ``ContentRepository`` + +`BUGFIX: Add dimensions to Workspace module `_ +------------------------------------------------------------------------------------------------------------- + +resolves: `#3470 `_ + +This adds Dimension handling to the current workspaces module. + +Currently the Module only displays changes in different languages as one change. This is because the node path is the same in different languages after they are copied. + + +* Packages: ``Neos`` + +`BUGFIX: Fusion avoid error on cache invalidation while developing `_ +------------------------------------------------------------------------------------------------------------------------------------ + +Replaces `#4509 `_ +* Resolves: `#4415 `_ + +After deleting a fusion file like ``BrandLogo.fusion`` one will face the error after booting flow and thus triggering the file monitor and its listeners: (even like a simple ``flow help``) + +``` +Couldn't resolve realpath for: '/absolutePath/Code/core/Neos.NeosIo/Packages/Sites/Neos.NeosIo/Resources/Private/Fusion/Content/BrandLogo/BrandLogo.fusion' +``` + +This is caused as ``realpath`` returns false if the file was deleted, and we were to eager validating this. But as flows file monitor already returns absolute paths we can skip the realpath calculation here and move it to the ``ParserCache::cacheForFusionFile``. Initially the call to ``realpath`` was made in a single place to avoid making to many assumptions about the form flow returned file paths. + +**Upgrade instructions** + + +* Packages: ``Neos`` ``Fusion`` + +`BUGFIX: More precise selection of the DomNode with CSFR token `_ +-------------------------------------------------------------------------------------------------------------------------------- + +To prevent issues with selecting the wrong CSFR Token in the DOM, we now have a more precise selection of the DomNode with the CSFR token. + +fixes: `#4822 `_ + +**Review instructions** + +Install a version before 1.0.1 of the `Shel.Neos.WorkspaceModule `_ +and go to the user management module to impersonate a user. Then switch to the Workspace module and try to restore the original user. Without this patch, it should fail. With version 1.0.1 it will not fail btw. + + +* Packages: ``Media.Browser`` ``Neos`` + +`TASK: Cleanup SVG Sanitzer workaround after 0.17.0 release `_ +----------------------------------------------------------------------------------------------------------------------------- + +SVG Sanitizer has merged and released the fix for restoring libxml error handler. So we can remove the workaround. + +See: https://github.com/darylldoyle/svg-sanitizer/pull/90 + +* Packages: ``Neos`` ``Media.Browser`` + +`TASK: Fix fusion docs a little `_ +------------------------------------------------------------------------------------------------- + +Fixes: https://github.com/neos/neos-development-collection/pull/3915#issuecomment-1296302491 + +**Upgrade instructions** + + +* Packages: ``Neos`` + +`TASK: PhpStan level 1 for Neos 8.3 `_ +----------------------------------------------------------------------------------------------------- + +Adds phpstan to the Neos 8.3 branch to all packages with a minimal level 1: + +- Neos.ContentRepository/Classes +- Neos.Diff/Classes +- Neos.Fusion.Afx/Classes +- Neos.Fusion/Classes +- Neos.Media.Browser/Classes +- Neos.Media/Classes +- Neos.Neos/Classes +- Neos.NodeTypes.Form/Classes +- Neos.SiteKickstarter/Classes + +Errors caused by the back-port of the ESCR TraversableNodeInterface, have been directly ignored via ``ignoreErrors``. +Other actually fixable errors have been fixed in a non breaking way. (Adjusting the doc types e.g.) + +This should provide a little starting base for extending php stan level across all packages to higher levels in the upcoming 9.0 branch, where we actually use phpstan at level 8 for the following packages: + +- Neos.ContentGraph.DoctrineDbalAdapter/src +- Neos.ContentGraph.PostgreSQLAdapter/src +- Neos.ContentRepository.BehavioralTests/Classes +- Neos.ContentRepository.Core/Classes +- Neos.ContentRepository.Export/src +- Neos.ContentRepository.LegacyNodeMigration/Classes +- Neos.ContentRepository.NodeAccess/Classes +- Neos.ContentRepository.StructureAdjustment/src +- Neos.ContentRepository.TestSuite/Classes +- Neos.ContentRepositoryRegistry/Classes +- Neos.Neos/Classes (also exists in 8.3) +- Neos.NodeTypes.Form/Classes (also exists in 8.3) + +As ``Neos.Fusion`` didnt need to be adjusted for neos 9 i started to migrate this package to level 8 for neos 8.3 already to avoid too many upmerge conflicts: + +https://github.com/neos/neos-development-collection/pull/4844 + +More packages, if applicable, will follow. + + +**Upgrade instructions** + + +* Packages: ``Neos`` ``ContentRepository`` ``Diff`` ``Fusion`` ``Media.Browser`` ``Media`` + +`TASK: Migrate Neos.Fusion/Core to phpstan level 8 (Neos 8.3) `_ +------------------------------------------------------------------------------------------------------------------------------- + +Requires: https://github.com/neos/neos-development-collection/pull/4842 + +Only files in ``Neos.Fusion/Classes/Core`` have been migrated, as they contain relatively new code like the parser. + +Two kind of errors have been partially ignored from the level 8 + +For one: "no value type specified in iterable type array" as adding ``array`` would just bloat this commit up. In these files we are mostly dealing with the fusion configuration which is highly dynamic: + +- Neos.Fusion/Classes/Core/Runtime.php +- Neos.Fusion/Classes/Core/Cache/RuntimeContentCache.php +- Neos.Fusion/Classes/Core/Cache/ContentCache.php +- Neos.Fusion/Classes/Core/Cache/CacheSegmentParser.php +- Neos.Fusion/Classes/Core/RuntimeConfiguration.php +- Neos.Fusion/Classes/Core/ObjectTreeParser/MergedArrayTreeVisitor.php +- Neos.Fusion/Classes/Core/ObjectTreeParser/MergedArrayTree.php + +And "has no return type specified" was noticed a lot in the ast visiting code. But i plan to refactor this instead to something better type- and readable in general: + +- Neos.Fusion/Classes/Core/ObjectTreeParser/MergedArrayTreeVisitor.php +- Neos.Fusion/Classes/Core/ObjectTreeParser/AstNodeVisitorInterface.php +- Neos.Fusion/Classes/Core/ObjectTreeParser/Ast/* + +**The phpstan config i used for local development & testing:** + +
local phpstan config +

+ +``` +parameters: + level: 8 + ignoreErrors: + - + message: '#no value type specified in iterable type array.$#' + paths: + - Neos.Fusion/Classes/Core/Runtime.php + - Neos.Fusion/Classes/Core/Cache/RuntimeContentCache.php + - Neos.Fusion/Classes/Core/Cache/ContentCache.php + - Neos.Fusion/Classes/Core/Cache/CacheSegmentParser.php + - Neos.Fusion/Classes/Core/RuntimeConfiguration.php + - Neos.Fusion/Classes/Core/ObjectTreeParser/MergedArrayTreeVisitor.php + - Neos.Fusion/Classes/Core/ObjectTreeParser/MergedArrayTree.php + - + message: '#has no return type specified.$#' + paths: + - Neos.Fusion/Classes/Core/ObjectTreeParser/MergedArrayTreeVisitor.php + - Neos.Fusion/Classes/Core/ObjectTreeParser/AstNodeVisitorInterface.php + - Neos.Fusion/Classes/Core/ObjectTreeParser/Ast + paths: + - Neos.Fusion/Classes/Core + bootstrapFiles: + - ../Framework/bootstrap-phpstan.php +``` + +

+
+ +As phpstan `doesnt ``_ allow to configure multiple levels by path, and i dont want to have to burden running phpstan multiple times, i decided against actually linting the migrated ``Neos.Fusion/Core` code in ci for Neos 8.3. On the neos 9 branch this we will activate the full linting power though! + +* Packages: ``Neos`` ``Fusion`` + +`TASK: Correct `DoctrineProxy` import in AssetController `_ +-------------------------------------------------------------------------------------------------------------------------- + +The old import was deprecated with ``doctrine/persistence:1.3`` and one should use Doctrine\\Persistence\\Proxy instead: +https://github.com/greg0ire/persistence/blob/`da3b167cde5c029d7941941c635879524d6e1484 `_/lib/Doctrine/Common/Persistence/Proxy.php#L26 + + +slack -> https://neos-project.slack.com/archives/C04PYL8H3/p1705607919309889 + +* Packages: ``Neos`` ``Media.Browser`` + +`Detailed log `_ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 1d59d937b0b3daf709db0e6cbdcd52c9604799b3 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 23 Feb 2024 16:58:32 +0000 Subject: [PATCH 18/20] TASK: Update composer manifest for ~8.3.0 See https://jenkins.neos.io/job/neos-release/424/ --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index cf827eb47f4..19eddec9b80 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "neos/utility-mediatypes": "*", "neos/error-messages": "*", "doctrine/common": "^2.7 || ^3.0", - "enshrined/svg-sanitize": "^0.16.0", + "enshrined/svg-sanitize": "^0.17.0", "neos/imagine": "^3.1.0", "imagine/imagine": "*", "doctrine/dbal": "^2.8", From c161df21398d7c0f2aca93966b0db9a24e3f36c4 Mon Sep 17 00:00:00 2001 From: mhsdesign <85400359+mhsdesign@users.noreply.github.com> Date: Wed, 28 Feb 2024 13:18:06 +0100 Subject: [PATCH 19/20] BUGFIX: 4915 fusion `ParsePartials` cache not flushed for symlinked packages --- .../Classes/Core/Cache/ParserCacheFlusher.php | 20 +++++++++++++++---- .../Core/Cache/ParserCacheIdentifierTrait.php | 3 ++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Neos.Fusion/Classes/Core/Cache/ParserCacheFlusher.php b/Neos.Fusion/Classes/Core/Cache/ParserCacheFlusher.php index 04a4b0c13ac..e263967f402 100644 --- a/Neos.Fusion/Classes/Core/Cache/ParserCacheFlusher.php +++ b/Neos.Fusion/Classes/Core/Cache/ParserCacheFlusher.php @@ -14,6 +14,7 @@ */ use Neos\Flow\Cache\CacheManager; +use Neos\Flow\Monitor\ChangeDetectionStrategy\ChangeDetectionStrategyInterface; /** * Helper around the ParsePartials Cache. @@ -50,10 +51,21 @@ public function flushPartialCacheOnFileChanges($fileMonitorIdentifier, array $ch $identifiersToFlush = []; foreach ($changedFiles as $changedFile => $status) { - // flow already returns absolute file paths from the file monitor, so we don't have to call realpath. - // attempting to use realpath can even result in an error as the file might be removed and thus no realpath can be resolved via file system. - // https://github.com/neos/neos-development-collection/pull/4509 - $identifiersToFlush[] = $this->getCacheIdentifierForAbsoluteUnixStyleFilePathWithoutDirectoryTraversal($changedFile); + // flow returns linux style file paths without directory traversal from the file monitor. + // As discovered via https://github.com/neos/neos-development-collection/issues/4915 the paths will point to symlinks instead of the actual file. + // Thus, we still need to invoke `realpath` as the cache invalidation otherwise would not work (due to a different hash) + // But attempting to use realpath on removed/moved files fails because it surely cannot be resolved via file system. + if ($status === ChangeDetectionStrategyInterface::STATUS_DELETED) { + // Ignoring removed files means we cannot flush removed files, but this is a compromise for now. + // See https://github.com/neos/neos-development-collection/issues/4415 as reminder that flushing is disabled for deleted files + continue; + } + $fusionFileRealPath = realpath($changedFile); + if ($fusionFileRealPath === false) { + // should not happen as we ignored deleted files beforehand. + throw new \RuntimeException("Couldn't resolve realpath for: '$changedFile'", 1709122619); + } + $identifiersToFlush[] = $this->getCacheIdentifierForAbsoluteUnixStyleFilePathWithoutDirectoryTraversal($fusionFileRealPath); } if ($identifiersToFlush !== []) { diff --git a/Neos.Fusion/Classes/Core/Cache/ParserCacheIdentifierTrait.php b/Neos.Fusion/Classes/Core/Cache/ParserCacheIdentifierTrait.php index 23fd8a76b36..241bbcb3ca8 100644 --- a/Neos.Fusion/Classes/Core/Cache/ParserCacheIdentifierTrait.php +++ b/Neos.Fusion/Classes/Core/Cache/ParserCacheIdentifierTrait.php @@ -33,9 +33,10 @@ private function getCacheIdentifierForDslCode(string $identifier, string $code): * - /Users/marc/Code/neos-project/Packages/Neos * * its crucial that the path - * - is absolute + * - is absolute (starting with /) * - the path separator is in unix style: forward-slash / * - doesn't contain directory traversal /../ or /./ + * - is not a symlink * * to be absolutely sure the path matches the criteria, {@see realpath} can be used. * From 316e00b39a68210764c94daf338c999fa717297f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20G=C3=BCnther?= Date: Tue, 15 Feb 2022 14:10:48 +0100 Subject: [PATCH 20/20] BUGFIX: Fix disablingSetNoOpenerWorks test for convertUri Fixes the disablingSetNoOpenerWorks test for the convertUri. Now the test respects the value of setNoOpener. fixes: #3605 --- .../Fusion/ConvertUrisImplementationTest.php | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/Neos.Neos/Tests/Unit/Fusion/ConvertUrisImplementationTest.php b/Neos.Neos/Tests/Unit/Fusion/ConvertUrisImplementationTest.php index 856e28fc0d4..335650f12c4 100644 --- a/Neos.Neos/Tests/Unit/Fusion/ConvertUrisImplementationTest.php +++ b/Neos.Neos/Tests/Unit/Fusion/ConvertUrisImplementationTest.php @@ -326,9 +326,24 @@ public function evaluateReplaceResourceLinkTargets() */ public function disablingSetNoOpenerWorks() { - $value = 'This string contains an external link: example3'; - $this->addValueExpectation($value, null, false, '_blank', null, false, false); - $expectedResult = 'This string contains an external link: example3'; + $nodeIdentifier = 'aeabe76a-551a-495f-a324-ad9a86b2aff7'; + $externalLinkTarget = '_blank'; + + $value = 'This string contains a link to a node: node and one to an external url with a target set example and one without a target example2'; + $this->addValueExpectation($value, null, false, $externalLinkTarget, null, false, false); + + $this->mockWorkspace->expects(self::any())->method('getName')->will(self::returnValue('live')); + + $self = $this; + $this->mockLinkingService->expects(self::atLeastOnce())->method('resolveNodeUri')->will(self::returnCallback(function ($nodeUri) use ($self, $nodeIdentifier) { + if ($nodeUri === 'node://' . $nodeIdentifier) { + return 'http://localhost/uri/01'; + } else { + $self->fail('Unexpected node URI "' . $nodeUri . '"'); + } + })); + + $expectedResult = 'This string contains a link to a node: node and one to an external url with a target set example and one without a target example2'; $actualResult = $this->convertUrisImplementation->evaluate(); self::assertSame($expectedResult, $actualResult); }