OppiaMobile Server Change Log for v0.12.x
v0.12.25 - released 1 Mar 2022
Issue list:
OPPIA-1005 Data loss for field “phone_number”
OPPIA-938/955 Update course XML schema to reflect latest changes
OPPIA-1061 Update django to 2.2.27
OPPIA-1068 Update google analytics js script
OPPIA-1065 Completed activities is displaying incorrectly in usercoursesummary
OPPIA-960 Fix issue with media download file
v0.12.24 - released 29 Jan 2022
Issue list:
OPPIA-978 Update Django to 2.2.26
OPPIA-980 Fix rel=noopener issue from sonarcloud
OPPIA-937 On bulk user upload do not reset existing users passwords
OPPIA-940 On bulk user upload add option to only update data, not overwrite
OPPIA-886 Uploading user data ignores first column
OPPIA-1019 On course upload, update quiz props (in server and XML) regardless of digest changes
OPPIA-862 Error uploading activity log files when they contain emojis
OPPIA-867 Activitylog upload table should record all uploads
OPPIA-935 User search doesn’t work if there are required custom profile fields
v0.12.23 - Released 31 Dec 2021
Issue list:
OPPIA-908 - Add report for missing media
Minor changes to fields shown on django admin list pages
OPPIA-925 Error with course feedback exports
OPPIA-876 On update_summaries add extra info on progress
OPPIA-968 Fix for incorrectly updating user profile data to be blank
v0.12.22 - Released 27 Nov 2021
Note
See the full release notes for configuring automated error emails.
For the Server dashboard always shows all media always completed (#OPPIA-903), the update_summaries command will need to be run from the start - see the upgrading notes
In this release, a field was added to record the course_version of the course in each tracker, see the upgrading notes to populate the current values
Issue list:
OPPIA-809 TypeError at /course/42/exports/trackers/ - update defusedxml library
OPPIA-858 Add “backfill_api_keys” to the regular cron script
OPPIA-836 Add tests for clean_certificates command
OPPIA-868 Set up automated error emails
OPPIA-855 Allow advanced search on custom fields
OPPIA-859 Exporting users with custom profile fields
OPPIA-857 Allow adding of new user with all custom fields
OPPIA-766 Number of media files to download shows as incorrect
OPPIA-903 Server dashboard always shows all media always completed
OPPIA-897 User images on leaderboard
OPPIA-877 Paginate AV listing page
OPPIA-807: Fix MultipleObjectsReturned error for quizzes in course reports view
OPPIA-802: Record the course version in the Tracker table
v0.12.21 - Released 29 Oct 2021
Issue list:
OPPIA-808 UserNotFound error on exporting trackers
OPPIA-788 Add server setting to determine if users should be able to edit their profile
OPPIA-753 Spaces in media filenames can’t be played
OPPIA-803 Monthly active users graph seems awry
OPPIA-835 Remove some deprecated code for media embed helper
v0.12.20 - Released 23 Sept 2021
Issue list:
OPPIA-738 Split up update_summaries to different methods
OPPIA-690 Add category to SettingProperties
OPPIA-761 Download course can fail if there are very old quiz trackers
OPPIA-760 Django admin viewing QuizAttemptResponses takes very long time
OPPIA-711 Management command to remove unused certificate pdfs
OPPIA-768 Shouldn’t regenerate certificate if name is None
OPPIA-772 Certificate generation issue
Update Pillow library to 8.3.2
OPPIA-751 Teachers and normal users get 403 unauthorized when going to courses page
v0.12.19 - Released 15 July 2021
Note
For the downloading of time spent in courses (#OPPIA-702), the update_summaries command will need to be run from the start - see the upgrading notes
The option to upload media within the dashboard interface, and use the media_embed_code for adding media in Moodle has been removed. All media files should be directly embedded in Moodle.
Check permissions for the certificates folder (see full release notes)
Issue list:
OPPIA-679 Add option to specify the display name for a certificate
OPPIA-700 On bulk user upload, add option to include custom registration form fields
OPPIA-693 Add option to regenerate a certificate for a user
OPPIA-702 Export/accessing time-tracking data
OPPIA-487 Deprecate media embed helper
OPPIA-58 Option to register server
OPPIA-708 Add tests for serverregistation update management task
OPPIA-680 User profile gives page not found when linking through to an archived course
OPPIA-14 Don’t save search tracker if query is blank
OPPIA-517 On time spent graphs update y-axis to use H:M:S format
OPPIA-705 Quiz result rounding
OPPIA-703 Cohort leaderboard doesn’t link through to users
OPPIA-706 Get unauthorised message if teacher user clicks on Cohorts in breadcrumb trail
OPPIA-406 Server dashboard access log - check all pages covered
OPPIA-719 Cover the Cohort pages by the dashboard accessed logs
HOTFIX for update_summaries with timezone
v0.12.18 - Released 22 Jun 2021
Note
The oppiacron task should be run as an admin/sudo user
Issue list:
Update to Django 2.2.24
OPPIA-634 Detect if certificate is portrait or landscape - and check correct size
OPPIA-664 Management command to clean media/courses dir
OPPIA-629 Be able to verify a certificate
OPPIA-630 Add option to email certificate
OPPIA-628 Extra tests for certificates
OPPIA-651 Speed up retrieval of the leaderboard
v0.12.17 - Released 26 May 2021
Issue list:
OPPIA-596 Add report for daily course downloads
OPPIA-622 Initial work for certificates
OPPIA-638 Pick up email prefix from the app_name
OPPIA-640 Upgrade required library imports
OPPIA-591 Allow access to download older versions of quiz and feedback responses
v0.12.16 - Released 25 April 2021
Issue list:
Update to Django 2.2.20
Automatically clear expired sessions as part of oppiacron task
OPPIA-587 API endpoint for username reminder
OPPIA-584 Improved password reset process
OPPIA-560 API endpoint to delete account
OPPIA-557 Add report on inactive users
v0.12.15 - Released 26 Mar 2021
Issue list:
OPPIA-31 Rename ‘tags’ to be ‘categories’ to match app and block
OPPIA-571 Upgrade Django, Pillow and django-ses packages
OPPIA-343 Explore feedback answers
v0.12.14 - released 1 Mar 2021
Issue list:
OPPIA-489 Update to use current approach for loading google charts
OPPIA-22 No need to show quiz table and quiz info if there are no quizzes in the course
OPPIA-269 Class based views for oppia/course
OPPIA-268 Class based views for oppia/cohort
OPPIA-505 Provide course completion badge criteria in server info
OPPIA-289 API endpoint for getting the course structure
OPPIA-401 API endpoint to get summary of users course progress
v0.12.13 - Released 21 Dec 2020
Issue list:
OPPIA-496 Add option for giving start/end dates for reports
OPPIA-497 Add report for search terms used
OPPIA-502 Additional badge awarding criteria option
v0.12.12 - Released 27 Nov 2020
Issue list:
OPPIA-271 Class based views for integrations
OPPIA-43 Define constants at module level
OPPIA-57 UploadMedia - add option for title, organisation and license
OPPIA-270 Class based views for oppia/home
OPPIA-467 Report for unique no users, filterable by any customfield definition
OPPIA-471 Add report for daily active users (initial version)
OPPIA-437 New export block not including media length (update fix)
OPPIA-472 Add report for monthly active users (initial version)
OPPIA-473 add report for total and average time spent
OPPIA-484 Add option to show only live courses
OPPIA-266 Class based views for profile/user
OPPIA-422 Add mocks for testing ip2location and cartodbupdate commands
OPPIA-194 Testing warning about native datetimes received when timezone support is active
v0.12.11 - Released 27 Oct 2020
Issue list:
OPPIA-437 New export block not including media length
OPPIA-451 Add basic Oppia branding to the Django Admin pages
OPPIA-455 Add data retention script
OPPIA-458 Management command to remove unused tags
OPPIA-460 Add quiz management command for quiz difficulty/discrimination indices
OPPIA-461 Update quiz cleanup command
v0.12.10 - Released 29 Sept 2020
Issue list:
OPPIA-378 Graphs on summary page showing beginning of month
OPPIA-412 Publish API can raise MultiValueDictKeyError
OPPIA-413 Summary cron lock doesn’t always get removed
OPPIA-397 Weblink/Intent for opening/downloading a specific course
OPPIA-414 Create script to anonymise database
v0.12.9 - Released 26 Aug 2020
Issue list:
OPPIA-389 Allow downloading of Quiz data in similar way to the feedback responses
OPPIA-381 Badges awarded not always getting added into the UserCourseSummary table
OPPIA-346 Error message when trying to use the makemessages command
v0.12.8 - released 31 July 2020
Issue list:
OPPIA-334 If no email is entered when a user registers, it shows (‘’,) as the email address in the Django admin
Bugfix for Android Intent
Update Pillow library version
OPPIA-344 Display the feedback activity responses
OPPIA-349 Allow course owners to access draft courses
v0.12.7 - released 1 July 2020
Key updates:
Upgrade to Django 2.2.13
Issue list:
OPPIA-331 Crash when Admin logs in the first time in a brand new server installation
OPPIA-319 In the download courses, make the course listing appear in the same order with the course priority value
OPPIA-56 UploadMedia - ability to download all media for a course
OPPIA-342 Search users gives a server error
OPPIA-369 Course download stats on the course detail page don’t match the course list
OPPIA-368 Export of detailed activity to Excel causes error
OPPIA-5 Set up IPstack for users country locations
v0.12.6 - released 4 May 2020
Key updates:
bug fixes
code restructuring for class based views
Issue list:
OPPIA-281 Add v2 of the API on the server
OPPIA-285 Store time taken for quiz attempts
OPPIA-275 Class based views for activitylog
OPPIA-273 Class based views for content
OPPIA-18 Cursor error when running summary cron on SQLite db
OPPIA-200 Graphs on summary page aren’t formatted correctly
OPPIA-264 Class based views for profile/manage
add django admin search options for some models
Updated Pillow package
OPPIA-228 Add API endpoint to return the media embed variables
OPPIA-260 Show full list of activities and digests for a course
OPPIA-310 Deleting a user deletes the current account, not the intended one
OPPIA-318 Occasional issues being unable to download courses in the app - “install failed”
v0.12.5 - released 18 Mar 2020
Key updates:
Update to Django 2.2.10
Option to update profile
Improved configuration options
Sonarcloud and Django code improvements implemented
Issue list:
OPPIA-193 Django-GCM package no longer required
OPPIA-206 Move OPPIA_ALLOW_SELF_REGISTRATION to be bool instead of int
OPPIA-28 Activity map page configuration
OPPIA-16 Github actions: new migration
OPPIA-17 Github actions: static files
OPPIA-197 Fix the sonarcloud code smells for oppia server
OPPIA-258 Fix next redirection vulnerability
OPPIA-241 When downloading a course from the server interface, it doesn’t increase the “downloads by users”
OPPIA-191 Use get_or_created in uploader.py
OPPIA-262 Class based views for reports
OPPIA-249 Class based views for av
OPPIA-13 Remove management command to update short answer scores
OPPIA-197 Fix the sonarcloud code smells for oppia server
OPPIA-276 Migrate to using django.urls.path()
OPPIA-277 Add email field in the LOGIN response
OPPIA-95 Add option for user to edit their profile - online only
v0.12.4 - released 29 Jan 2020
Key updates:
update to Django 2.2.9
additional tests and improved code coverage (85%+)
Issue list:
717: Create OppiaTestCase class to be used in tests (#717)
586: Add tests for quiz/management/commands/check_duplicate_quizzes.py (#586)
721: Add permissions and tests for the new QuizAttempt/detail views (#721)
566: Add tests for profile password reset (#566)
550: SonarQube - complexity of profile/views.py - several functions (#550)
713: Quiz language dictionaries not being saved correctly (#713)
710: Add tests for gamification/forms.py (#710)
OPPIA-32 - Move some other settings from settings.py/settings_secret.py to SettingProperties
v0.12.3 - Released 20 Dec 2019
Key updates:
Allow custom fields for profile form
API for profile updating
Refactoring of API code
SonarCloud fixes for duplicate code, code smells and test coverage
Remove deprecated quiz API endpoints
Issue list:
697: Fix email sending (#697)
692: Add specific test for implementation (#692)
645: Emailing password reset not working (#645)
682: Update user profile to include custom fields (#682)
687: Add API endpoint for user to update their profile info (#687)
699: Split out api/resources.py into separate files (#699)
605: Remove signup_callback function (#605)
660: In tests for file opening use with … as … instead of file= (#660)
700: Course_download_views allows anyone to download any course (#700)
684: Remove OPPIA_*_EARN_POINTS settings (#684)
709: Upload users function does not work (#709)
552: SonarQube - complexity of quiz/management/commands/update_short_answer_scores.py handle function (#552)
587: Duplicate code blocks in quiz management commands (#587)
548: SonarQube - complexity of oppia/uploader.py - several functions (#548)
551: SonarQube - complexity of quiz/api/serializers.py format_quiz function (#551)
547: SonarQube - complexity of oppia/signals.py tracker_callback function (#547)
712: Quiz API… mainly deprecated? (#712)
678: Display user full quiz attempts and responses (#678)
711: Split out oppia/view.py and profile/view.py into separate files? (#711)
v0.12.2 - Released 27 Nov 2019
Key updates:
Additional logging of course publishing
Updates for PEP8/Flake8 formatting of code
Add pytest integration with Github workflows
Remove old/redundant code
Issue list:
Updated version of Pillow - https://github.com/DigitalCampus/django-oppia/pull/669
441: Keep log of when a course is republished with the old/new activities - (#441)
542: Remove OPPIA_EXPORT_LOCAL_MINVERSION setting - (#542)
676: Add tests for quiz attempts in activity log upload - (#676)
680: Check that the server can be set up with SQLite as the db - (#680)
512: Remove GCM push/device admin functionality (#512)
685: Add pycodestyle to requirements (#685)
672: Find out why media views showing as 0 (#672)
683: Replace raw_input() with input() (#683)
688: Configure github workflow yml file (#688)
666: Make left hand side bar collapsible (#666)
692: Add specific test for implementation (#692)
667: test_quiz_attempt_points_included test failing (#667)
v0.12.1 - Released 15 Oct 2019
Key updates:
Updated version of Django
Initial version of DHIS2 export
Issue list:
v0.12.0 - Released 17 Sept 2019
Key updates:
Moving to Python 3 and Django 2
Use material design layout
Issue list:
539: Moving to python 3 and django 2 (#539)
468: RemovedInDjango20Warning - update for deprecation/changes (#468)
571: For python 3 - replace __unicode__ with __str__ in models (#571)
591: Update media_url_check to remove urllib2 dependency (#591)
601: Python 3 - v0.12.0 branch - check usage of urllib/urllib2/urllib3 (#601)
640: Error with Gamification db migrations on v0.12 branch (#640)
577: Drawer menu for admin users (#577)
625: Crispy-forms - move to using the BootStrap4 template pack (#625)
639: Merge material design branch into latest dev branch (#639)
635: Points/gamification not working on staging server with python 3/django 2 (#635)
636: Deprecation warning for BaseException.message (#636)
638: Fix tests for v0.12.0 branch (#638)
649: Date range selector with styles that match the customizable theme (#649)
646: Upload view fails if user has no associated UserProfile (#646)
650: Add tests for activitylog upload (#650)
655: Updates from SonarQube recommendations (#655)
585: Add tests for recent updates to activity log (#585)
189: Remove CourseXML class as no longer used? (#189)
Previous Versions
- OppiaMobile Server Change Log for v0.11.x
- OppiaMobile Server Change Log for v0.10.x
- OppiaMobile Server Change Log for v0.9.x
- OppiaMobile Server Change Log for v0.8.x
- OppiaMobile Server Change Log for v0.7.x
- OppiaMobile Server Change Log for v0.6.x
- OppiaMobile Server Change Log for v0.5.x
- Change Log for v0.4.x
- Change Log for v0.3.x
- Change Log for v0.2.x
- Change Log for v0.1.x