[TASK][!!!] Extend FAL Api for more efficient usage 63/25363/4
authorSteffen Ritter <info@rs-websystems.de>
Wed, 13 Nov 2013 09:03:49 +0000 (10:03 +0100)
committerSteffen Ritter <info@rs-websystems.de>
Wed, 13 Nov 2013 16:09:45 +0000 (17:09 +0100)
commit24298d068315bde59019b8403051767a60c88d83
tree60ed52194c051d7d061b934e0eeaa0010e0024bd
parent74f47123d268a5962a7e228e563163984f8807b5
[TASK][!!!] Extend FAL Api for more efficient usage

This changeset extends the Driver-API to allow the ResourceStorage
to list Files in a Folder (recursively) without getting the whole
FileInformation array. Extracting the FileInformation is very
expensive in terms of IO and runtime.

Additionally when doing IndexMaintenance it might be useful to
check if the File changed (content-wise) and therefore must be
hashed. While indexing you might not yet have a FileObject
since you are just about to create it. Therefore a HashFile
Method in ResourceStorage is extended to do that just based on
the Identifier.

Since this change already breaks the Driver API and we decided
that architecturally it is not wise, that the driver knows
about object and not only about identifiers, the hash method
is changed accordingly there, too.

Since only the ResourceStorage is allowed to access the Driver
objects directly this is only relevant for custom driver
implementations.

Releases: 6.2
Resolves: #53585
Change-Id: I6ec47e9071550826aab4f4886700772254cfc8d0
Reviewed-on: https://review.typo3.org/25363
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
typo3/sysext/core/Classes/Resource/Driver/AbstractDriver.php
typo3/sysext/core/Classes/Resource/Driver/LocalDriver.php
typo3/sysext/core/Classes/Resource/ResourceStorage.php