Changing Requirements and Code Simplification

May 2015―We've spent the last few months working mostly on little changes to address long-standing client challenges, clean out old code, and make way for vast improvements in the near future.

Almost all of the changes somehow touch upon integration. Our ability to work with other systems gets better every day. However this also means that the profile of use cases has shifted from that of a stand-alone system to one that depends more heavily than ever on simple yet powerful connections.

With this in mind we've worked through our entire code base to deprecate non-utilized features, simplify commonplace workflows, reduce implementation barriers, and introduce select new capabilities.



Courses have long been identifiable by their external course ID, a necessity when integrating with the LMS, a catalog, or otherwise. However external section IDs (subsets of the course) were largely a hidden part of our tool loaded only via feed processing and not user modifiable. Over the last month we've made external section IDs transparent to domain administrators. You can now search for and manually add, edit, and delete section labels and IDs.


Learning Tools Interoperability

With the increasing adoption of LTI by LMS vendors and availability of powerful integration tools like Apidapter we have removed many configuration options that used to exist when setting up LTI consumers. In other words Concourse now supports only the "standard" LTI parameters (i.e. lis_person_sourcedid for users and lis_course_offering_sourcedid for courses) in favor of addressing the wide range of data formats, conditional logic, error modes, and custom parameters via an integration middleware layer.

This even extends to mixed protocols. Say you want to authenticate against an LDAP server to access Concourse. From here on that look-up and verification would be performed by the middleware and the resulting request turned in to an LTI launch for consumption by Concourse.

Last but not least this opens the door for course identification by way of external section IDs as well as fully automated course creation.


Rich Text Editing

One issue we were experiencing when embed mode was used in conjunction with an LMS was that certain links were unreachable. We soon discovered that this had to do with recent browser security policy changes. Turns out non-secure (i.e. http://) links were causing a mixed security mode warning, which to most users appeared like the system simply stopped working. We solved the issue by changing the default behavior of new links to open in a new tab, now a best practice.

We also upgraded the entire rich text editor package and disabled the autolink plugin so as to make opening links in the same window a proactive choice.


Linked Item Warnings

When manipulating template content deleting items always came with (naturally) a giant warning. However the addition of items did not. This normally wouldn't have any adverse effects except in the case that the template you were working on was linked to other templates. Under this situation the addition of item content could in fact overwrite massive amounts of content below. In other words Add could mean Delete! That wasn't obvious so we introduced warnings when this might occur.



The ability to self-register for courses - whether by search or instructor invite - has been removed. This was largely an artifact of a Concourse product edition of years past. At the time our system did not support integration so the only way to enroll students was to invite them to join Concourse with a special code or have them seek out the course directly and submit their request to join. To our knowledge this feature contained more lines of code than the number of times it was actually utilized.


Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Powered by Zendesk