Skip to content

Data Review Tool rewrite #223

@jpmckinney

Description

@jpmckinney
  • Create new repositories for non-CoVE version, e.g. plover and plover_web (still Django)

Web frontend (templates and text)

Web backend

  • Use Celery (with Redis queue) for background tasks
  • Implement async upload and async processing
  • Don't use the filesystem as the cache
    • Once we cache validation results, we no longer need to write/cache the metatab, conversion warnings, extended schema, cell_source_map, heading_source_map.
    • See Unflatten in Kingfisher Collect to get unflatten results from temporary directory.
    • We do want to write the original file and the converted file to the media directory, as it is helpful to users and analysts to download the file (especially if they did not upload it, lost track of it, or if the data at the URL has changed).
  • Use Django page cache (with Redis, since it's already installed)

Library (libcoveocds)

  • Extract relevant logic from lib-cove (only common.py is very relevant)
  • Simplify and refactor the extracted code
  • Stop writing to validation_errors-3.json and remove corresponding logic from web backend
  • Remove keys from output/context that are unused (check what other projects reads this library's output)
  • Remove JSON serializing of errors (originates in lib-cove) [This is needed to aggregate similar error]
  • Try switching to jsonschema-rs Try substituting jsonschema-rs for jsonschema lib-cove-ocds#123
  • Ask ODS about dropping AGPL in our code

Learning

While everything is fresh, read latest JSON Schema to see if anything can be simplified by adopting new versions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions