-
Notifications
You must be signed in to change notification settings - Fork 521
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
Implement success criteria metrics for lesson checkpointing #4042
Comments
@rishidyno this is actually a higher priority feature than #3825 and isn't blocked on UX (though it isn't a new UI). Might you be interested working on in this issue? |
ImplementationThe metrics will be logged using the existing analytics framework. Each of the following events will be logged alongwith the ExplorationContext. As discussed with @adhiamboperes, here are the places where each of the event logs shall be triggered.
File ChangesThe following tables list the files that will be modified in each of the modules. App module
Domain module
Model module
Utility module
|
#5336) <!-- READ ME FIRST: Please fill in the explanation section below and check off every point from the Essential Checklist! --> ## Explanation <!-- - Explain what your PR does. If this PR fixes an existing bug, please include - "Fixes #bugnum:" in the explanation so that GitHub can auto-close the issue - when this PR is merged. --> Fixes #4042 This PR implements the success criteria metrics required for lesson checkpointing as described [here](https://docs.google.com/document/d/1d8yjwz76mngtsPRxC7fubgLKg8mfA7kG1sWRWdbiaVw/edit#bookmark=id.2zyjd5vygmcv). A high level overview of the implementation is documented on the issue thread [here](#4042 (comment)). #### Changes to FakeAnalyticsEventLogger - `fun getOldestEvents(count: Int): List<EventLog>` is necessary to retrieve a list of a pre-defined count of oldest events from all the logged events. - `fun getLoggedEvent(predicate: (EventLog) -> Boolean): EventLog?` serves to acquire a reference to a logged event when the context of the event is known, but the event index is uncertain or potentially surrounded by other events. Thus, extracting the event via index might be difficult. ## Essential Checklist <!-- Please tick the relevant boxes by putting an "x" in them. --> - [x] The PR title and explanation each start with "Fix #bugnum: " (If this PR fixes part of an issue, prefix the title with "Fix part of #bugnum: ...".) - [x] Any changes to [scripts/assets](https://github.com/oppia/oppia-android/tree/develop/scripts/assets) files have their rationale included in the PR explanation. - [x] The PR follows the [style guide](https://github.com/oppia/oppia-android/wiki/Coding-style-guide). - [x] The PR does not contain any unnecessary code changes from Android Studio ([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#undo-unnecessary-changes)). - [x] The PR is made from a branch that's **not** called "develop" and is up-to-date with "develop". - [x] The PR is **assigned** to the appropriate reviewers ([reference](https://github.com/oppia/oppia-android/wiki/Guidance-on-submitting-a-PR#clarification-regarding-assignees-and-reviewers-section)). ## For UI-specific PRs only <!-- Delete these section if this PR does not include UI-related changes. --> If your PR includes UI-related changes, then: - Add screenshots for portrait/landscape for both a tablet & phone of the before & after UI changes - For the screenshots above, include both English and pseudo-localized (RTL) screenshots (see [RTL guide](https://github.com/oppia/oppia-android/wiki/RTL-Guidelines)) - Add a video showing the full UX flow with a screen reader enabled (see [accessibility guide](https://github.com/oppia/oppia-android/wiki/Accessibility-A11y-Guide)) - For PRs introducing new UI elements or color changes, both light and dark mode screenshots must be included - Add a screenshot demonstrating that you ran affected Espresso tests locally & that they're passing --------- Co-authored-by: Adhiambo Peres <[email protected]>
Is your feature request related to a problem? Please describe.
Lesson checkpointing was implemented as a GSoC project last summer, but we didn't have time to implement the success criteria metrics expected for the feature here.
Describe the solution you'd like
The metrics should be implemented using the existing analytics framework. This feature should be documented at least in this issue with a high-level overview with the changes that need to be done in the code before actually starting implementation. A design document is not needed.
Describe alternatives you've considered
N/A
Additional context
None
The text was updated successfully, but these errors were encountered: