Skip to content

Simplify harvest storage and stop using contracts interfaces #4416

@dafeder

Description

@dafeder

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions