About Figures
Figures is Appsembler’s lightweight analytics tool. It provides an easy way to look at the activity of your organization’s learning initiatives on a site-wide, course-wide, and individual learner levels. Figures seeks to bridge the gap between the highly detailed and heavy technical lift of Open edX Insights and the overly-opaque and manual-overhead-heavy process of pulling CSV files from each individual course’s Instructor Dashboard.
For more information on Figures, see
Analytics with Appsembler Figures.
Tahoe Release Notes
We have split these release notes out from the
Tahoe release notes, as Figures is available to both Tahoe and Standalone customers.
16 Oct 2020 – Release “0.3.17”
https://github.com/appsembler/figures/releases/tag/0.3.17
- Reworked SiteMonthlyMetrics registered users metric. This was causing the /figures/api/site-monthly-metrics/registered_users endpoint to timeout with a 500 error
- Fixed Ginkgo (Django Filter 0.11.0) Backward compatibility issues
- UI Bug fix: Add success feedback to csv export dialog
- Bump http-proxy from 1.18.0 to 1.18.1 in /frontend
28 Sep 2020 – Release “0.3.16”
- Add Learners Progress Overview to main menu
- Performance and test improvement for LearnerMetricsViewSet
- Fix code that doesn’t work on Ginkgo (Django 1.8)
11 September 2020 – Release “0.3.15”
- Learner progress overview UI improvements, add to main menu
24 August 2020 – Release “0.3.14”
- Added multi-course filtering to the learner-metrics API endpoint
- Small cosmetic issues in new Learners Progress Overview page
14 August 2020 – Release “0.3.13”
- Learners Progress Overview page prerelease
- This is an in-progress feature that we’ve been working on since late June. We’re dark-launching it in production to get some additional testing in before we enable the URL in the Figures dash. If you’re a customer, reading this, and interested in checking it out, email support or your Customer Success Manager. This has been a test of the “who’s reading release notes” broadcast system.
- https://github.com/appsembler/figures/pull/239
- https://github.com/appsembler/figures/pull/240
- Fix certificate count as proxy for course completions
- Update monthly pipeline job
- Set default to run. Was previously not default
- Added logging timing instrumentation
- https://github.com/appsembler/figures/pull/242
15 July 2020 – Release “0.3.12”
Release tag:
https://github.com/appsembler/figures/releases/tag/0.3.12
- Improved performance for site monthly metrics active users for current month
- GitHub PR: https://github.com/appsembler/figures/pull/234
- This improves performance for all Figures pages because all Figures pages call the site monthly metrics active users API endpoint
- Enrollment Metrics API endpoint
- This is an endpoint specific to “learner progress” and course completion
- GitHub PR:https://github.com/appsembler/figures/pull/233
- Figures devsite improvements
Deploying this will show current month site MAU as “0” until the scheduled daily pipeline job is run. This is because the performance improvement now collects the current month’s active user data daily and saves to the site daily metrics store. Before Figures 0.3.12, the current month’s metrics were calculated live from the core edx-platform data. This became too slow for larger sites. An option discarded was to modify the core platform to improve query performance.
29 June 2020 – Release “0.3.11”
- Fixes incorrect site monthly metrics course completion data
- Fixes CourseDailyMetricsSerializer when average_progress is 1.00
- Updates pipeline enrollment metrics queries to improve performance
- Added site pipeline progress indicator to logging
- Bump devsite Django 1.11 to version 1.11.29
- Bump websocket-extensions from 0.1.3 to 0.1.4 in /frontend
21 May 2020 – Release “0.3.10”
- Improved daily metrics pipeline performance
- Bug fixes
29 April 2020 – Release “0.3.9”
- Frontend updates
- On the dashboard there were two metrics with the same label, the second one was mislabeled and is now labeled correctly (“Registered learners” -> “New learners”).
- MAU history list was showing in order that is opposite from the logical one. Now it is reversed.
- When a previous month didn’t exist in MAU history list, it would count the increase as if the previous month had a value of 0 (zero). Now it says “N/A”.
- We improved the UI responsiveness, labels and filters.
- Backend updates
- Updated site monthly metrics pipeline: Fixed backfill, added celery tasks and set scheduling to run pipeline on first day of the month
- Development environment
- Added Django Debug Toolbar to Figures devsite
10 April 2020 – Release “0.3.8”
- Improvement to Site Monthly Metrics active users endpoint to address scalability issues
- This release has the update in this PR: https://github.com/appsembler/figures/pull/205
- We now have a SiteMonthlyMetrics model to store historical metrics, starting with monthly active users (MAU) to both address performance issues because the endpoint was timing out for Redis data. Also it provides a permanent record for historical data
- Current Month’s active user count was also updated, with hopefully much faster querying, while still using figures.sites methods to retrieve data
8 April 2020 – Release “0.3.7”
- Major UI updates for performance and usability improvements
- In background, major changes have been made to how the Figures UI gets the data to display. In addition to speed, which was our number one concern, we also added some better error handling.
- The Figures Dashboard no longer contains the (seemingly infinite in some cases) list of courses in the site. We have listened to our users feedback, and set on creating two new views which replace and expand the functionality we deprecated:
- Courses view – this view allows you to browse all of the courses on your site. It’s paginated, but even more importantly it allows you to search your courses by course name, course code or course ID!
- Users view – as with courses, we now allow you to browse all of the users associated with your site, as well as search over them by users full name, username or email address. For instance, you can search by “@somedomain.com” to filter down the list.
- Searches in both of these views update as you type, no browser navigation means a snappier experience!
- The two quick access autocomplete inputs in Figures navigation (“Select a user” and “Jump to a course”) have also been improved. The load time when you start the app is significantly improved – that gives the app an even snappier feel.
- The single course view has also been improved in terms of performance, with a new addition in metrics:
- Active users – this metric shows you the number of Monthly Active Users in that course. A note – since a single user can be active in multiple courses, this means that adding together all the Course Active Users for a month will not correlate with your Site’s Monthly Active Users metric (the latter will always be less or equal than the sum).
- We also did some optimisations in responsiveness. While Figures is still not meant to be seamlessly used on mobile device screens (for now), now the UI behaviour when you use Figures in a split screen layout on your laptop/computer, it will be easier on the eye and more usable.
- New API endpoints, “Course Monthly Metrics”
- This API endpoint set provides aggregate metrics for a course in a given month
- This is part of restructuring Figures API for improved performance. There are two driving goals for the API restructuring
- First, speed up response time for data needed for specific contexts, like “Site”, “Course”, and “Learner”
- Second, to build consistent foundations into context and time series groups to make the API easier to understand and use. Core foundations are now the following:
- Site Daily Metrics
- Course Daily Metrics
- Site Monthly Metrics
- Course Monthly Metrics
14 March 2020 – Release “0.3.6”
https://github.com/appsembler/figures/releases/tag/0.3.6
Compiled assets in branch build-0.3.6
This release includes:
- Client (UI and API) facing updates
- Front end improvements
- API update
- Added email to users general view
- Pipeline update
- Added flag to enable/disable celerybeat scheduling for course MAU
- Developer facing updates
- Added organizationsto INSTALLED_APPS to fix devsite
- Code cleanup, fix bugs in tests, Pylint update
20 February 2020 – Release “0.3.5”
https://github.com/appsembler/figures/releases/tag/0.3.5
Compiled assets in branch build-0.3.5
This release includes:
- Client (UI and API) facing updates
- Added MAU pipeline to store MAU data, using Figures “first generation” pipeline
- New endpoints for Site Monthly Metrics
- Added user email address to general user deata
- Added admin interface to Course MAU metrics model and updated admin test
- Bug fix: URL pattern fix for /figures/
- Developer facing updates
- Updated Django micro versions to Figures devsite for each of the environments (Enterprise/Community Hawthorn, Tahoe Hawthorn, Ginkgo)
- Added missing .envfile for project Makefile
- Added Pylint to testing
- Refactoring
- Refactored permissions module (No external changes)
29 January 2020 – Release “0.3.4”
This release adds Ginkgo backport support.
We changed the branch naming. We’re back to tagging releases with annotated tags. The tag for this version is 0.3.4. The branch to deploy that has the compiled front end assets is build-0.3.4 (
https://github.com/appsembler/figures/tree/build-0.3.4 )
- PRs
- https://github.com/appsembler/figures/pull/158
- Adds Ginkgo backport support – One release to support both Hawthorn and Ginkgo
- https://github.com/appsembler/figures/pull/158
12 January 2020 – Release “0.3.3”
Front end updates and fixes. Adds Download Reports UI as a hidden feature
- PRs
- https://github.com/appsembler/figures/pull/153
- Fix the local dev server (Front end)(non-production)
- https://github.com/appsembler/figures/pull/154
- Add a working spinner on API fetch waits (Front end)(production)
- https://github.com/appsembler/figures/pull/155
- Smaller bugfixes – mostly visual (Front end)(production)
- https://github.com/appsembler/figures/pull/146
- DLRepots UI – Add Download Reports to frontend (Front end)(production). Added as a hidden feature
- https://github.com/appsembler/figures/pull/153
20 December 2019 – Release “0.3.2”
- Figures for general distribution (Enterprise and Tahoe)
- Branch 0.3.2
- Only change from 0.3.1-tahoeis that tests are updated for Enterprise
- Add the following line to the server vars EDXAPP_EXTRA_REQUIREMENTSsetting:
- – name: “git+https://github.com/appsembler/figures.git@0.3.2#egg=Figures”
5 December 2019 – Release “0.3.1-tahoe”
Figures 0.3.1-tahoe released to Tahoe Production. (See release notes for 28 November 2019)
Fixed / improved
- MAU site metrics on the main page updated for accuracy.
- For the site, calculation now collects unique learner ids from the StudentModule model’s modified field for a given calendar month. The modified field is originally set when the created field is set. It gets updated when a learner interacts with a course. SPECIFICALLY when the learner performs an action that triggers the StudentModule.modifiedfield to update, which according to documentation is when the learner’s interaction with an XBlock in a given course is tracked. See here: https://github.com/edx/edx-platform/blob/master/lms/djangoapps/courseware/models.py#L84
- Site daily metrics (daily active users) improved accuracy. Now number reflects all unique active users for the site for the day
- MAU site metrics and course metrics live REST API data endpoints
- This is an experimental feature to provide improved MAU data and develop real time analytics
- Course drop list now shows run to help differentiate courses with same name
- Pagination quick fixes
- “Select a user” list now collects up to 1000 users
- Courses list on main page now shows up to 1000 courses
Broken
- We need to repeatedly go through each metric in Figures and evaluate for accuracy and utility. Found so far:
- Course page ‘Number of enrolled learners’ still shows higher than the list of learners in at least some courses.
- Learner progress: The display has too much precision and we need to audit the code and make sure we have clearly defined “Learner Progress”
- Course completions. A course currently can only be shown as completed if there is a certificate
28 November 2019
Created a release branch for Figures for Tahoe (0.3.1-tahoe):
https://github.com/appsembler/figures/tree/0.3.1-tahoe
- Fixed SiteDailyMetrics daily active users. With this release, the daily site metrics are collected for all unique users with StudentModule activity for the given day
- Fixes getting previously collected days data when ‘yesterday’ was not collected.
- Added methods to the SiteDailyMetrics and CourseDailyMetrics models to retrieve the most recent day in the past for which data was collected. Previously, the check was always ‘yesterday’
- The metric impacted is the “cumulative site-wide active users”. This metric is STILL FLAWED because is accumulated the unique daily user counts. So that it will count users multiple times for each day’s activity. DO NOT USE FOR MAU.
- https://github.com/appsembler/figures/pull/138
- Test Infrastructure – Restructured mocks to support multiple edx-platform mocking
- This is to support Ginkgo backport as well as future edx-platform releases
- https://github.com/appsembler/figures/pull/137
- MAU pipeline, models, updated views
- IMPORTANT!!! MAU is still experimental and subject to change as we rework the front end
- Details here:https://github.com/appsembler/figures/pull/134
- MAU Live API endpoints for site and courses
- IMPORTANT!!! MAU is still experimental and subject to change as we rework the front end
- Details here:https://github.com/appsembler/figures/pull/131
11 October 2019 – Release “0.3.0-tahoe”
Created a release branch for Figures for Tahoe (0.3.0-tahoe):
https://github.com/appsembler/figures/tree/0.3.0-tahoe
- Interfaces (Front end and API)
- Figures Main page (Site context page) now should list up to 1000 courses
- Fixed by changing course general and details API endpoints to return 1000 records per page
- “Run” added to the course “quick select” drop list to differentiate courses with the same name
- Responsive UI improvements: Updated styles (see commit here)
- Fix fontawesome package issues
- Removed compiled front end assets
- Updated JavaScript package dependencies to address security issues
- Figures Main page (Site context page) now should list up to 1000 courses
- Pipeline
- Testing
- Flake8 fixes
- Devsite seed_data fix
- Added more courses to test API pagination for retrieving course data