As Google Summer of Code 2018 draws to a close, I’d like to summarize my work for Oppia Foundation on the project - ‘Lesson translation dashboard’. I had an awesome experience working with the Oppia Foundation community, under the mentorship of two amazing people - Tony Jiang and Anmol Shukla.
This post aims at linking and listing out all the feature milestones developed during my project and the relevant pull requests, along with the miscellaneous work through out the GSoC program.
Milestones Achieved
-
Milestone 1 - This Milstone was mostly focousing on the backend part of the project.
Pull requests merged
-
PR#4959: Milestone 1.1: Add translator role for the exploration.
- Added “translator” role for the exploration.
- Added new entity translator_ids in ExplorationSummary and ActivityRights object.
- Added `translator_ids` in ExplorationSummaryModel and ExplorationRightsModel.
- Wrote @acl_decorators for can_translate_exploration.
-
PR#5007: Milestone 1.2: Refactor exploration state structure.
- Replaces audio_translations to content_id in SubtitledHtml.
- Adds Content_ids_to _audio_translation to connect audio translations with SubtitledHtml.
-
PR#5099: Milestone 1.3: Allowed translator to work on exploration.
- Allowed an exploration owner to assign translator for their exploration.
- Made editor page accesible to translators.
- Allowed translators to upload, delte and mark need updates translated audio.
-
PR#4959: Milestone 1.1: Add translator role for the exploration.
-
Milestone 2 - In this milestone a simple version of translation tab was built which allows translators to record and upload audio directly from the oppia platform.
Pull requests merged
-
PR#5122: Milestone 2.1 & 2.2: Translation overview directive.
- Created TranslationLanguageService (and Spec).
- Made navbar functional for audioTranslation tab.
- Added translation-tab directive.
- Added translation-overview directive.
-
PR#5163: Milestone 2.3: Translation status graph directive.
- Adds graph to translation tab.
- Connected graph with translation overview directive.
-
PR#5210: Milestone 2.4: State translation directive
- Added state content in the translation tab.
-
PR#5279: Milestone 2.5: Audio translation bar for translation tab.
- Added recording functionality in translation tab.
- Allowed translators to record and save the translated audio.
-
PR#5122: Milestone 2.1 & 2.2: Translation overview directive.
-
Milestone 3 - In this milestone the complete version of translation tab was built.
Pull requests merged
-
PR#5378: Milestone 3.1 & 3.2: Translation Status color.
- Created TranslationStatusService.
- Added colors for graph node to show the translation status of the state.
- Added status color for translation nav bar.
- Added exploration translation progress slider in translation-overview directive.
-
PR#5413: Milestone 3.3: Removing audio translation bar from editor page.
- Removed audio translation bar from editor tab.
-
PR#5483: Milestone 3.4: Added drag and drop files functionality.
- Added funcionality to drag and drop files in the new translation tab.
-
PR#5506: Milestone 3.5: End to end tests for translation tab.
- Added e2e tests for the new translation tab.
-
PR#5378: Milestone 3.1 & 3.2: Translation Status color.
Miscellaneous work:
From time to time, certain bugs were introduced, which needed to be fixed immediately, and also some miscellaneous work were done to make oppia release sucessfully.
- PR#5496: Added recorder config in app.js
- PR#5496: Added recorder config in app.js
- PR#5448: Fixed backend failing tests in suggestion_tests
- Fix #5226: Fixed publish button issue.
- Fix #5287: Deletes feedback content id while deleting interaction.
- PR#5136: Minor fix in getNeedsUpdateTooltipMessag.
- PR#5116: Added notes to run single e2e and unit tests.
- Fix #5083: Audio needs update span disable for guest users.
After the end of the milestone three the translation tab was ready for the end users. Features:
- Status of the entire exploration on selected language.
- Status of each state in preferred language.
- Status of each component of the state (content/responses/hints/feedback)
- Audio recording.
- Drag and drop audio files uplaod.
- Progress bar for the translation work.
You may find all my github pull requests here in one go and you can check the devlogs here.
Overall, a summer well spent. I’ll be contributing to Oppia Foundation even after the completion of GSoC, aiming to fix the rest of the Sidebar issues. Happy Hacking!