- Issue created by @boobaa
- Status changed to Needs review
about 1 year ago 4:02pm 9 February 2024 - ππΊHungary boobaa
Attached patch provides this feature, based on already-existing examples.
- ππΊHungary mxr576 Hungary
$this->privateTempStore->get('export.assets')
What is going to flush out things stored in this storage after the export is done? I see that whatever is stored there gets overridden every time. By the way, due to this user-specific but shared storage, isn't there a slight chance for unexpected behaviors when the same user executes multiple exports at the same time?
- ππΊHungary boobaa
@mxr576: While your comment is asking a proper question, it does not belong to this particular patch/issue. The race condition you mentioned is also present without this patch, as this user-specific but shared storage is also used elsewhere already during the export process. Because of that, I think a different issue should handle that problem β if at all, because I also think that this is quite a corner case: I just cannot really imagine myself executing another export while the first one also started by myself is still running. IOW, this is theoretically possible for sure, but practically? I'm not that sure.
- πΊπΈUnited States rprager
The patch in #2 didn't work for me. I received an error when trying to export. I changed line 45 from
public function mapBaseFieldsValues(array $values, FieldableEntityInterface $entity): array {
to
public function mapBaseFieldsValues(array $values): array {
and that worked for me.
- ππΊHungary boobaa
Checked the report from @rprager in #6 but I could not reproduce it (using the latest 1.4.x branch, which corresponds to the 1.4.6 version as of now): I have created a node and used CKEditor to upload an image to its body, then exported the node. The only log entry I got was about node creation, and the resulting zip did contain the image I have uploaded via CKEditor.
So I have converted the patch in #2 into a merge request as-is.
- ππΊHungary mxr576 Hungary
Left a suggestion.
I also checked and it seems to me that the modified code has no test coverage, so there is nothing to extend. Covering TextField processor with tests should be a dedicated issue/effort.
- Assigned to nginex
- Status changed to RTBC
5 months ago 9:48am 2 December 2024 - First commit to issue fork.
- πΊπΈUnited States cobblestone.consulting
This works perfectly if the data-entity-type and data-entity-uuid attributes are added to the tag. However, in my install, when uploading a new image via imce (3.1.2 or 3.1.3) and then adding that image in CKEditor, I am not seeing any data attributes.
Is there some additional configuration in imce or ckeditor required to get the data attributes to be included?
- πΊπ¦Ukraine nginex
I realized that FileAsset can be refactored, so we keep the same logic in a single place File.php processor. FileAsset needs to simply export file entity then. Created a new branch to handle it
- Merge request !158[#3420464] Rework for FileAsset plugin to better support file entity export/import β (Merged) created by nginex
- πΊπ¦Ukraine nginex
Provided rework, so now the logic is in one place, File plugin, FileAsset plugin now contains only the field-related logic. Backward compatibility has been provided.
- πΊπ¦Ukraine nginex
Going to include this to the release. Tested with old exported content and new one. It works like a charm. Any feedback is welcome
-
nginex β
committed b3cb8610 on 1.4.x
[#3420464] Rework for FileAsset plugin to better support file entity...
-
nginex β
committed b3cb8610 on 1.4.x
Automatically closed - issue fixed for 2 weeks with no activity.