You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Konrad Windszus (Jira)" <ji...@apache.org> on 2022/11/29 08:11:00 UTC

[jira] [Updated] (SLING-11705) Transfer based on serialized files instead of abstraction ResourceProxy

     [ https://issues.apache.org/jira/browse/SLING-11705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Konrad Windszus updated SLING-11705:
------------------------------------
    Description: 
FileVault supports multiple and overlapping serializations of nodes (https://jackrabbit.apache.org/filevault/vaultfs.html).
Currently this is partially re-implemented in 

* https://github.com/apache/sling-ide-tooling/blob/18c02373401bfd087847ac34eb384b91d6048405/shared/impl-vlt/src/main/java/org/apache/sling/ide/impl/vlt/AddOrUpdateNodeCommand.java#L184
* https://github.com/apache/sling-ide-tooling/blob/18c02373401bfd087847ac34eb384b91d6048405/shared/impl-vlt/src/main/java/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java#L119

Instead of reproducing the FileVault logic in order to be able to sync FileVault content packages correctly it would be good to rely more on FileVault classes to do the job of import/export particularly for the tricky case where more than 1 file determines the properties of a single node.

Also in case of an update of a raw .content.xml file in Eclipse this is first
- deserialized into ResourceProxy objects
- copied from ResourceProxy object to the remote repo.

While during the import of the content package this import is being taken care of by FileVault.

The ResourceProxy should merely be used to create an abstraction from the serialization files and to update/create serialization files based on it.

At the same time the Sling POST servlet based implementation can probably be removed as those can only ever be synced with Eclipse (and therefore were probably never used in reality)



  was:
FileVault supports multiple and overlapping serializations of nodes (https://jackrabbit.apache.org/filevault/vaultfs.html).
Currently this is partially re-implemented in 

* https://github.com/apache/sling-ide-tooling/blob/18c02373401bfd087847ac34eb384b91d6048405/shared/impl-vlt/src/main/java/org/apache/sling/ide/impl/vlt/AddOrUpdateNodeCommand.java#L184
* https://github.com/apache/sling-ide-tooling/blob/18c02373401bfd087847ac34eb384b91d6048405/shared/impl-vlt/src/main/java/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java#L119

Instead of reproducing the FileVault logic in order to be able to sync FileVault content packages correctly it would be good to rely more on FileVault classes to do the job of import/export particularly for the tricky case where more than 1 file determines the properties of a single node.

Also in case of an update of a raw .content.xml file in Eclipse this is first
- deserialized into ResourceProxy objects
- copied from ResourceProxy object to the remote repo.

At the same time the Sling POST servlet based implementation can probably be removed as those can only ever be synced with Eclipse (and therefore were probably never used in reality)

While during the import of the content package this import is being taken care of by FileVault.

The ResourceProxy should merely be used to create an abstraction from the serialization files and to update/create serialization files based on it.

The same approach can partially be used for Sling POST servlet (although I deem this less useful as all projects use


> Transfer based on serialized files instead of abstraction ResourceProxy
> -----------------------------------------------------------------------
>
>                 Key: SLING-11705
>                 URL: https://issues.apache.org/jira/browse/SLING-11705
>             Project: Sling
>          Issue Type: Improvement
>          Components: IDE
>            Reporter: Konrad Windszus
>            Priority: Major
>
> FileVault supports multiple and overlapping serializations of nodes (https://jackrabbit.apache.org/filevault/vaultfs.html).
> Currently this is partially re-implemented in 
> * https://github.com/apache/sling-ide-tooling/blob/18c02373401bfd087847ac34eb384b91d6048405/shared/impl-vlt/src/main/java/org/apache/sling/ide/impl/vlt/AddOrUpdateNodeCommand.java#L184
> * https://github.com/apache/sling-ide-tooling/blob/18c02373401bfd087847ac34eb384b91d6048405/shared/impl-vlt/src/main/java/org/apache/sling/ide/impl/vlt/serialization/VltSerializationDataBuilder.java#L119
> Instead of reproducing the FileVault logic in order to be able to sync FileVault content packages correctly it would be good to rely more on FileVault classes to do the job of import/export particularly for the tricky case where more than 1 file determines the properties of a single node.
> Also in case of an update of a raw .content.xml file in Eclipse this is first
> - deserialized into ResourceProxy objects
> - copied from ResourceProxy object to the remote repo.
> While during the import of the content package this import is being taken care of by FileVault.
> The ResourceProxy should merely be used to create an abstraction from the serialization files and to update/create serialization files based on it.
> At the same time the Sling POST servlet based implementation can probably be removed as those can only ever be synced with Eclipse (and therefore were probably never used in reality)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)