dkan icon indicating copy to clipboard operation
dkan copied to clipboard

Simplify harvest storage and stop using contracts interfaces

Open dafeder opened this issue 10 months ago • 1 comments

The havest module uses the contracts storage interfaces which result in a lot of unnecessary abstractions. We have a bunch of different "stores" (items, hashes etc) that all require their own factories using the very generic FactoryInterface from contracts. There is no need for any of this in the harvest module. Most of it exists in the Harvester class itself, which once it is inside DKAN (ie once #4373 is complete) should be able to be rewritten to simply use Drupal DB and Entity API functions.

This will likely be tricky in the ETL\Factory class from the old Harvest library. We may need more discussion to figure out what abstraction there we want to maintain and what we want to eliminate. For instance maybe we now require all storage to be done through the Entity system and we require EntityStorageInterface as an argument.

dafeder avatar Feb 25 '25 17:02 dafeder

Related to #3823

dafeder avatar Apr 17 '25 18:04 dafeder