Screencasts / Blog posts

This is a series of modules and features that enable Drupal distributions to make consistent connections to the Course Information System distribution. This library / module / feature set is currently influx as it is made generic enough to work with any Drupal 7 distribution, yet still specific to interaction with the CIS.

This is a critical component to the creation of larger Suite of Tool style learning networks. More details will be provided (and documentation) in the coming weeks. There is a cis_connector.api.php file which details how to utilize this information to connect to a remote (or localhost based) CIS distribution instance.


CIS Connector - Library of functions and API for defining how to connect to your CIS. This works by making structured drupal_http_request's against the CIS using a Service account that is defined in the api. In order to use this module you must write another module (the api has exactly how to do this) which just has the connection registry information. In the future this will hopefully happen when installing CIS as part of setup of that system (It'll write the module for you and you'll click download).


CIS Remote Watchdog - Integrate any distribution with the Remote Watchdog distribution.

CIS Services Activation code - Integration / support for the Activation codes module

CIS Service connection - Defines all the different data you can connect to and gather from CIS to form a unified system relationship. It provides instructionally significant functionality like the ability to grab a syllabus from CIS based on the current section context.

Instance Data Modules

These define methods for connecting to specific distributions and getting useful information / integrations with them.

CIS Service CLE - Connect any distribution to the CLE Distribution.

CIS Service ICOR - Connect any distribution to the ICOR Distribution.


CIS Connector Views - Currently an example of how to override a view to make a service connection to CIS and render this data using Views XML Backend

CIS Helpdesk issue - Feature that allows for the use of the Features module to provide API encapsulation of a "helpdesk issue". This is actually a node that renders local to an instance but then is saved remotely to the (forthcoming) CIS Helpdesk distribution.

CIS Section - Defines an OG based section and provides mechanisms for automatically syncing up with the CIS in terms of which sections exist. It also has APIs to help integrate with legacy LMS data sources. You'll need to write code to generate an array of user data but this does the heavy lifting of getting users into the right place once you feed it data.

CIS Service Connection UX - This structures some menu callbacks to talk to the CIS and visualize data that lives there. It utilizes CIS cached calls to help improve performance while mitigating issues of managing course logistical information in multiple courses. This specifically helps bridge the syllabus, welcome page, welcome letter, help page, resources, and other useful things to have centralized brought into the course contextually. For example, it provides a link to {site}/syllabus/download which will contextually look up the syllabus that should be delivered to the currently logged in student (based on CIS Section / OG Context) and then deliver them that one.

CIS Service LTI - Necessary functions and settings to streamline integration with the Learning Tools Interoperability module.

CIS Service RestWS - Provides default RestWS module integration to enable everything in the network to be a web service. It reads the registry and automatically builds a user account, gives it the SERVICE ACCOUNT role and then sets permissions so that it can be talked to.

CIS Service Roles - Standardized roles so that we can have the same users everywhere.

Drupal 6

The D6 version of this is a back port of D7 functionality so that you can more easily upgrade legacy Drupal / ELMS instances to the MOOC / CIS network of distros. It is a trimmed down version of the D7 library with a module to help facilitate updating items in a MOOC instance when a currently running D6 / legacy instance has a node updated. This triggers a REST call to the corresponding MOOC storage location so that you can gradually migrate instead of having to stop business and continue later (something almost impossible in high edu because of the semester timeline).

This project has been created as part of the ELMS initiative at Pennsylvania State University.

Supporting organizations: 
Developed, Implemented

Project information