Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Data will be specified in multiple Yaml files

    • A top level yaml file will list other yaml files

    • The order by which the data is built in specific IDA will be specified in the top level yaml file

    • The data contained within the yaml files will be as minimal as possible

    • foreign keys will be linked via some unique identifier for lookup (i.e. course_key, domain, username)

  • For each use of the load_test_data management command, there will be a separate yaml file with data specified.

  • The management command will read the specified yaml file and pass on the data specification to the appropriate data creation generation function.

  • We will be reusing existing factories used for unit tests

    • Benefits of reuse

      • Decrease in code duplication

      • There are ton of factories, so we’d be able to support ton of data creation very quickly

    • Downsides

      • There are ton of factories which were designed for different use cases. Due to the complex nature of some of these factories, it might be hard determine side effects on the database.

...

  • Prototype for ARCH-BOM [in-progress]

  • Develop MVP

    • tasks to do

      • Finalize and fully implement make interface

      • load_data management command in each of necessary IDA's

      • Add tests for the management command and data creation generation functions

      • minimum creation functions in each of the management commands

      • Documentation

        • Walkthrough of how to extend system yourself

        • Walkthrough of how to use system to create custom local data

        • Overarching system design

      • Recruit another Squad to work with us on this

    • Goal: have MVP ready to be used by another squad

  • User Testing with another Squad

    • Tasks to do

      • Showcase this method to external Squad

        • This could be a synchronous meeting or an email/document

      • [maybe] Ideate with them as to how they would use this method

      • Have person be on stand-by to answer any questions by Squad and to handle any roadblocks

      • Continue improving both implementation and documentation based on feedback

    • Goal: Have method ready to be spread to whole org

  • Advertise this tool to org

    • Tasks to be do

      • Further mature implementation and Documentation

      • Email, Slack post, eng-all-hands presentation

      • Have person on-call be ready to continue advertising and answering questions about this method

  • Replace most of provisioning with this method of loading data

    • Requirements

      • TBD

...