CD2 Courses table - tab configuration field

Jeff_F
Community Champion


Hello - does anyone have experience using the tab configuration field in the courses table?

The CD1 position and visible fields didn't carry over to CD2. Instead, they are "derived from courses.tab_configuration YAML serialized list". Here is an example of the tab configuration content for one course:

-----
[{"id":0},{"id":"context_external_tool_74776"},{"id":14},{"id":10},{"id":8},{"id":5},{"id":6},{"id":"context_external_tool_97850"},{"id":"context_external_tool_132739"},{"id":"context_external_tool_12","hidden":true},{"id":"context_external_tool_48448","hidden":true},{"id":"context_external_tool_11","hidden":true},{"id":"context_external_tool_54","hidden":true},{"id":"context_external_tool_56139","hidden":true},{"id":18,"hidden":true},{"id":15,"hidden":true},{"id":2,"hidden":true},{"id":3,"hidden":true},{"id":4,"hidden":true},{"id":11,"hidden":true},{"id":16,"hidden":true},{"id":"context_external_tool_6668","hidden":true},{"id":"context_external_tool_34687","hidden":true},{"id":"context_external_tool_35108","hidden":true},{"id":"context_external_tool_53683","hidden":true},{"id":"context_external_tool_57148","hidden":true},{"id":1,"hidden":true},{"id":"context_external_tool_102460","hidden":true},{"id":"context_external_tool_109442","hidden":true},{"id":"context_external_tool_121828","hidden":true},{"id":"context_external_tool_129681","hidden":true},{"id":"context_external_tool_133123","hidden":true}]
-----

This introduces a few questions:

1. how to list the sequence of items on the course navigation using a numerical indicator? (i.e., recreate the CD1 position field)
2. how to determine which items in the course navigation are visible and those which are hidden? (i.e., recreate the CD1 visible field)
3. how to establish a relationship between this tab configuration field and the context_external _tools table? Can this be done using a calculated field using my current tool of choice (Tableau) or do I need to perform a data extract, process the data, then connect the data extract as a second data source in Tableau?

 

Of course before getting started we need to confirm if the id numbers in the YAML list are consistent across courses. There is no mention of this that I can find in the CD2 documentation. For example id 0 = Home, id 14 = announcements, etc. If the numbers are consistent, then that would give a basis for creation of a calculated field which identifies the id numbers.

And it appears that I’ll also need to list the external tool id numbers and create a calculated field that lists the tool by name. For example,

IF CONTAINS ( [tab_configuration], ‘tool_74776”}’ THEN ‘Tool Name - Visible’
ELSIF CONTAINS ( [tab_configuration], ‘tool_74776","hidden":true’ THEN ‘Tool Name - Hidden’
etc.

I might then split it into two fields (tool name and then visible status). That is easy enough.

Overall though I'd say the process was simpler when course navigation item fields were represented in their own table as they were in CD1. That was plug and play where here with CD2 we need to create several solutions.

Use case: We need the position field as we often batch enable tools and are asked to place them in a specific location in the course navigation.  This dashboard also helps inform positioning of navigation items and this helps our quality control efforts.

=====

My support ticket: Case 09989758 ref:_00DA0Ibsk._5003m1YQahk:ref

Labels (3)