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

feat: New Course Comparison Dashboard #938

Merged
merged 5 commits into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion tutoraspects/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,12 @@
"uuid": "abae8a25-1ba4-4653-81bd-d3937a162a11",
"allow_translations": True,
},
{
"name": "Course Comparison Dashboard",
"slug": "course-comparison",
"uuid": "c6c7062d-dd90-4292-b9cf-84f7b9f38e73",
"allow_translations": True,
},
],
),
# The following settings are used to configure the Superset dashboards
Expand All @@ -140,6 +146,7 @@
"course-dashboard": "c0e64194-33d1-4d5a-8c10-4f51530c5ee9",
"learner-groups": "8661d20c-cee6-4245-9fcc-610daea5fd24",
"individual-learner": "abae8a25-1ba4-4653-81bd-d3937a162a11",
"course-comparison": "c6c7062d-dd90-4292-b9cf-84f7b9f38e73",
},
),
# ClickHouse xAPI settings
Expand Down Expand Up @@ -376,7 +383,7 @@
# For now we are pulling this from github, which should allow maximum
# flexibility for forking, running branches, specific versions, etc.
("DBT_REPOSITORY", "https://github.com/openedx/aspects-dbt"),
("DBT_BRANCH", "v3.31.0"),
("DBT_BRANCH", "v3.33.1"),
("DBT_SSH_KEY", ""),
("DBT_STATE_DIR", "/app/aspects-dbt/state"),
("DBT_PROFILES_DIR", "/app/aspects/dbt/"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# https://github.com/apache/superset/releases
# https://github.com/apache/superset/blob/master/Dockerfile
# https://superset.apache.org/docs/databases/installing-database-drivers
FROM apache/superset:4.0.1
FROM apache/superset:4.0.2

USER root

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
_file_name: Course_Info_b2fff8.yaml
cache_timeout: null
certification_details: null
certified_by: null
dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341
description: null
params:
adhoc_filters:
- clause: WHERE
comparator: No filter
expressionType: SIMPLE
operator: TEMPORAL_RANGE
subject: emission_time
all_columns: []
color_pn: false
column_config:
active_count:
columnWidth: 200
course_name:
columnWidth: 300
enrollees:
columnWidth: 150
org:
columnWidth: 200
tag_list:
truncateLongCells: true
conditional_formatting: []
extra_form_data: {}
groupby:
- course_name
- org
metrics:
- enrollees
- active_count
- tag_list
order_by_cols: []
order_desc: false
percent_metrics: []
query_mode: aggregate
row_limit: 50000
server_page_length: 10
show_cell_bars: false
table_timestamp_format: smart_date
temporal_columns_lookup: {}
time_grain_sqla: P1M
viz_type: table
query_context:
datasource:
id: 221
type: table
force: false
form_data:
adhoc_filters:
- clause: WHERE
comparator: No filter
expressionType: SIMPLE
operator: TEMPORAL_RANGE
subject: emission_time
all_columns: []
color_pn: false
column_config:
active_count:
columnWidth: 200
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These aren't usually present, and seem to keep the columns from resizing when the screen is smaller. Any idea why they're here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, that was a conscious decision to prevent the 'tags' column from taking over the whole space and squishing the rest of the columns together

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will "tags" wrap if we put spaces after the commas?

Copy link
Contributor Author

@saraburns1 saraburns1 Sep 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it will, but if we dont specify the width for the other columns, itll still push all the columns to the left
image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm yeah I see.

@Ian2012 can we get the course comparison dashboard embedded on the sandbox site?
@crathbun428 do we have any guidance for the resolutions / page sizes we want to support?

I know we're not currently worrying about mobile, but I think we may need to adjust the sizes to make things fit reasonably on, say, a laptop screen when embedded. Does that sound fair?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does sound fair - I did not think about this, but can come up with some requirements for this ASAP.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For sure, I think this is non-blocking for this PR and we can clean up the specific sizes later.

course_name:
columnWidth: 300
enrollees:
columnWidth: 150
org:
columnWidth: 200
tag_list:
truncateLongCells: true
conditional_formatting: []
dashboards:
- 3141
datasource: 221__table
extra_form_data: {}
force: false
groupby:
- course_name
- org
metrics:
- enrollees
- active_count
- tag_list
order_by_cols: []
order_desc: false
percent_metrics: []
query_mode: aggregate
result_format: json
result_type: full
row_limit: 50000
server_page_length: 10
show_cell_bars: false
slice_id: 1181
table_timestamp_format: smart_date
temporal_columns_lookup: {}
time_grain_sqla: P1M
viz_type: table
queries:
- annotation_layers: []
applied_time_extras: {}
columns:
- course_name
- org
custom_form_data: {}
custom_params: {}
extras:
having: ''
time_grain_sqla: P1M
where: ''
filters:
- col: emission_time
op: TEMPORAL_RANGE
val: No filter
metrics:
- enrollees
- active_count
- tag_list
order_desc: false
orderby:
- - enrollees
- false
post_processing: []
row_limit: 50000
series_limit: 0
url_params: {}
result_format: json
result_type: full
slice_name: Course Info
uuid: b2fff8a7-3ace-4075-9a3f-5fa5b99f81bb
version: 1.0.0
viz_type: table
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
_file_name: Course_Info_ccdd7d.yaml
cache_timeout: null
certification_details: null
certified_by: null
dataset_uuid: 27a4476b-5a9a-4fc4-ac75-da520b522341
description: null
params:
adhoc_filters:
- clause: WHERE
comparator: No filter
expressionType: SIMPLE
operator: TEMPORAL_RANGE
subject: emission_time
all_columns: []
color_pn: false
column_config:
Current Enrollees:
saraburns1 marked this conversation as resolved.
Show resolved Hide resolved
columnWidth: 150
active_count:
columnWidth: 200
course_name:
columnWidth: 200
course_run:
columnWidth: 300
tag_list:
truncateLongCells: true
conditional_formatting: []
extra_form_data: {}
groupby:
- course_run
- course_name
metrics:
- active_count
- tag_list
- enrollees
order_by_cols: []
order_desc: false
percent_metrics: []
query_mode: aggregate
row_limit: 50000
server_page_length: 10
show_cell_bars: false
table_timestamp_format: smart_date
temporal_columns_lookup: {}
time_grain_sqla: P1M
viz_type: table
query_context:
datasource:
id: 221
type: table
force: false
form_data:
adhoc_filters:
- clause: WHERE
comparator: No filter
expressionType: SIMPLE
operator: TEMPORAL_RANGE
subject: emission_time
all_columns: []
color_pn: false
column_config:
Current Enrollees:
saraburns1 marked this conversation as resolved.
Show resolved Hide resolved
columnWidth: 150
active_count:
columnWidth: 200
course_name:
columnWidth: 200
course_run:
columnWidth: 300
tag_list:
truncateLongCells: true
conditional_formatting: []
dashboards:
- 3141
datasource: 221__table
extra_form_data: {}
force: false
groupby:
- course_run
- course_name
metrics:
- active_count
- tag_list
- enrollees
order_by_cols: []
order_desc: false
percent_metrics: []
query_mode: aggregate
result_format: json
result_type: full
row_limit: 50000
server_page_length: 10
show_cell_bars: false
slice_id: 1381
table_timestamp_format: smart_date
temporal_columns_lookup: {}
time_grain_sqla: P1M
viz_type: table
queries:
- annotation_layers: []
applied_time_extras: {}
columns:
- course_run
- course_name
custom_form_data: {}
custom_params: {}
extras:
having: ''
time_grain_sqla: P1M
where: ''
filters:
- col: emission_time
op: TEMPORAL_RANGE
val: No filter
metrics:
- active_count
- tag_list
- enrollees
order_desc: false
orderby:
- - active_count
- false
post_processing: []
row_limit: 50000
series_limit: 0
url_params: {}
result_format: json
result_type: full
slice_name: Course Info
uuid: ccdd7d98-4722-490b-a0b2-077380a7c7eb
version: 1.0.0
viz_type: table
Loading
Loading