Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Make Changes to Download Script #5365

Open
adhiamboperes opened this issue Mar 20, 2024 · 1 comment
Open

[Feature Request]: Make Changes to Download Script #5365

adhiamboperes opened this issue Mar 20, 2024 · 1 comment
Assignees
Labels
enhancement End user-perceivable enhancements. Impact: High High perceived user impact (breaks a critical feature or blocks a release). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.

Comments

@adhiamboperes
Copy link
Collaborator

Is your feature request related to a problem? Please describe.

There are changes required in the download script in #4885 to incorporate classroom-specific workflows. Because the script relies on farmiliarity with multiple repositories, we want to streamline some parts of the script in order to simplify work for the GSoC multiple classrooms project.

Describe the solution you'd like

We want to modify the classroom structure so that the topic dependecy graph is baked in to it. We want to make changes to the TopicDto to pass in classroom name and other known information like the dependency graph.

This issue tracks defining the classroom structure and incorporating the topic dependency list into the download script.

Describe alternatives you've considered

N/A

Additional context

N/A

@adhiamboperes adhiamboperes added enhancement End user-perceivable enhancements. Impact: High High perceived user impact (breaks a critical feature or blocks a release). Work: High It's not clear what the solution is. labels Mar 20, 2024
@adhiamboperes adhiamboperes added Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. and removed Work: High It's not clear what the solution is. labels Mar 20, 2024
@BenHenning
Copy link
Sponsor Member

So I've been working on addressing this. While the changes aren't yet final, I think my work will cover all of the following:

  • Introducing a new ClassroomRecord to include the topic dependencies graph & other classroom information.
  • Remove TopicIdList in favor of the above.
  • Updating TopicController and TopicListController to use this dependency graph, and to assume exactly one classroom by default (to load the list of topic IDs).
  • Updating the JSON loading pipeline & affected tests, where needed, to load correctly.
  • Update the download asset script to include:
    • A proper GAE DTO for classroom data.
    • A v2 representation (as part of oppia-proto-api) that correctly encapsulates classroom changes and topic dependencies (this is a WIP and not yet pushed).
    • Correct conversion to the new v1 protos being introduced in the Oppia Android proto folder (see above).

What's NOT being included:

  • Localization work for classroom data (the structures are being added for v2 for correctness, but nothing extra is being done for v1 objects).
  • Classroom-specific tests for the topic loading pipeline.

Note also that the topic dependency graph for test topics will be hardcoded in the script as we don't yet have a way to load them from a local instance of Oppia web (though this is a long-term plan).

The above should remove any need to make changes to the download script, ensure a working app version with classroom data, and remove a pretty large chunk of the classroom changes in the domain and data layers (but not all of it).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement End user-perceivable enhancements. Impact: High High perceived user impact (breaks a critical feature or blocks a release). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet.
Development

No branches or pull requests

2 participants