Welcome to 2020. I hope everyone had a fun, relaxing holiday break. This time of year always provides an opportunity to reflect back on what the previous year shaped up to be, as well as look ahead to what the new year might bring. I thought I’d take a few minutes to do something similar for Catalog.
2019 was an interesting year for Catalog full of steady improvements to the back and front end, team structure changes, and balancing a broadening set of priorities. To begin the recap of this year, let me list many of the product accomplishments that the team had:
Improvements to Catalog reporting - The Reports section of Catalog was rewritten from the ground up in a framework that’s much easier for our team to support and work in. With the rewrite we took the opportunity to add a few improvements, such as sortable headers, pagination, date range filtering, catalog level exporting, and accessibility enhancements.
We also added a new “completions” tab to the analytics page, allowing admins to pull data by completion. This tab provided the perfect place for us to surface certificates that had been issued to students, so admins can now view those there.
Lastly, as part of this work we also improved the way we export user-defined fields. Now, each user-defined field gets exported into a separate column, allowing for much easier reading and manipulation.
Listing Create/Edit page rewrite - Similar to the reports page, we’ve rewritten the create/edit page in Catalog from scratch, using a framework that will be much easier for the team to maintain and build upon in the future. Along the way, we added some small touches that we’ve heard requests for, including:
Hide the “free” banner and wording from listing cards
Add alternate text to listing images
Rearrange program requirements
Print an expiration date on certificates
One of the big issues with the previous create/edit page was the lack of accessibility support. With the rewrite, we’ve updated our components and fields to behave appropriately with keyboard navigation as well and screenreader alerts, including an all new rich content editor.
Show canvas enrolled courses on Dashboard - We’ve created a setting that allows admins to have more control over how the student dashboard gets populated.
Move from Pandahooks to Live Events - We’ve made a backend change to the underlying communication between Catalog and Canvas. In the past, Catalog has relied on a technology called webhooks, which didn’t have the error protection that we needed. With Live Events, if an event encounters an error it will keep trying for 24 hours. Completions and enrollments now sync more reliably between the two systems. We’ve been running both side by side for several months and are officially turning on live events this week.
Respecting course date settings when creating new sections - When sections are created in Canvas, we now use the course date settings, eliminating the administrative overhead needed in the past to update the sections after they were completed.
Beta environments for all regions - Catalog now has a beta environment in every region, allowing all of our customers to test new features and ideas in a safe environment.
Expanded Payment Gateway support - We’ve added the accept hosted method to our Authorize.net integration option. Additionally, we’ve integrated with a new payment gateway, CCP.
Catalog added to Bugcrowd - Catalog has been added to our bugcrowd environment.
Better high-enrollment event handling - We spent time this year making infrastructure improvements that allow Catalog to better support large enrollment events. This situation can happen when a new program or listing is opened for the first time, for example.
Non-Functional Requirement improvements - Part of keeping platforms healthy is making sure that we’re spending time working on our non-functional requirements—the team spent several weeks this year making sure that Catalog is adhering to the latest best practices such as performance, security, database redundancy, and backups.
Catalog data availability in Canvas Data - Catalog data was added to the Canvas Data portal, making it available alongside all other Canvas data.
Improved external identity provider logout process - When an external identity provider is used in conjunction with a connected Canvas account, Catalog now has an improved user flow to help ensure that users are completely logged out when ending their sessions. This is a backend setting that we have to flip on, so if you’re using an external identity provider and are interested in having this enabled, please reach out to your CSM.
Reduced maintenance downtime windows - No one likes scheduled downtime. We diligently avoid scheduling downtime for maintenance, but on very rare occasions we have to take the app down for a brief window. We’ve made some optimizations to that process that allow us to get things back up even quicker than before.
Alright. That covers a lot of the Catalog work that the team pushed out this year.
Now, let me spend a minute or two on the team structure changes. The education side of Instructure recently reorganized the engineering teams into what are called charters. Each charter has areas that they’re responsible for. This change is aimed at providing more structure and clarity.
As part of this change, the Catalog team members were added to an existing team. The collective team owns some exciting and critical areas of Canvas in addition to Catalog, including the Gradebook and Speedgrader. I can’t tell you how excited I am for this new team structure.
For the next several months, the team is going to be focused primarily on projects in Gradebook and Speedgrader. We will still be maintaining Catalog and resolving issues that come up. And, depending on how things go, we might be able to squeeze a few small Catalog feature projects into the mix (keep your eyes peeled for a new API endpoint to drop users from catalog listings).
While our focus for the first part of this year isn’t squarely on Catalog, we do have projects that we’re really excited about for Catalog down the road. Stay tuned for a post on upcoming development as we get a bit closer to those projects.
Release and Beta Refresh Schedule
Catalog will be released on the same day as Canvas each month. We'll do a beta refresh the following business day. For January, for example, the release will happen on the 18th and the beta refresh will happen the following Monday, on the 20th.