Accessibility
Stefan van As

Stefan van As

http://members.chello.nl/~s.as

Table of Contents

Created:
12 March 2007
User Level:
Beginner, Intermediate
Products:
Captivate

Using PENS with Adobe Captivate 2

This article explains PENS (Package Exchange Notification Services), and how to use the support for PENS included with Adobe Captivate 2.

Requirements

To make the most of this article, you need the following software:

Adobe Captivate

  • A third-party PENS-compliant Learning Management System (LMS) or Learning Content Management System (LCMS)
  • Contact your LMS/LCMS administrator, because you will need the (target) URL and other information for sending PENS notifications

Prerequisites

The following prerequisites will help you understand this tutorial:

  • Knowing how to create an Adobe Captivate project and how to publish it.
  • Basic familiarity with LMS and the purposes of an LMS.

What is PENS?

Everyone who has published an e-learning content package to an LMS before knows how painful this procedure can potentially be. Nine times out of ten, you have to inform your LMS administrator about your new (or updated) content package. Often, there is no automated procedure.

Package Exchange Notification Services (PENS) is a standardized protocol that enables one-click publishing of e-learning content between authoring environments (such as Adobe Captivate) and a Learning Management System (LMS).

If you're unfamiliar with LMS is or what it does, I'm afraid the subject is out of the scope this article, because it is specifically constrained to the PENS protocol; but for now you can think of an LMS as a system that deploys your e-learning content packages, manages e-learning content, registers students, monitors and guides the learning process, does version control, schedules and tracks students, and so on.

It is important to realize that PENS doesn't actually publish or upload your e-learning content to the LMS. It merely notifies the LMS of the availability of a new (or modified) e-learning content package. From there on, it is up to the LMS to actually retrieve or download that e-learning content package. Typically, PENS triggers a workflow that eventually results in your content package showing up in the LMS menu structure, so that your students can start using it as part of the courseware that is offered to them by the LMS. In other words, PENS is nothing more than a notification "message" (sometimes referred to as the PENS "command" or the PENS "announcement") that is sent to your LMS.

The general expectation is that submitting a PENS notification to your LMS will kick off a workflow that may involve reviews or approvals before the content reaches the final end-user deployment. Sometimes, the LMS might include logic to deploy the new (or modified) e-learning content package right away (in other words, it might become live immediately), but at other times the LMS might temporarily store the content in a catalog without enrollments, or in a restricted environment of some kind. Each LMS has its own specifics in how it responds to the PENS notification. Your e-learning authoring environment (this includes Adobe Captivate 2) is not responsible for this workflow; its only responsibility is to make the e-learning content package it has produced available for download to the LMS, and then notify the LMS of availability of this new (or updated) content package through the PENS standardized protocol.

What a PENS notification looks like from a technical perspective isn't very interesting (especially because Adobe Captivate 2 does all the hard work for you), but you can think of PENS as a "request" that is sent to the LMS through the HTTP protocol (more or less analogous to requesting an HTML page in your web browser, but without the LMS returning an actual HTML page), containing several data elements to identify the content package location. PENS doesn't specify how the LMS must behave after the PENS notification has been sent. (I cannot stress this enough.) PENS is specifically constrained to the notification (or "command," or "announcement") itself. How the content package is deployed, managed, and published as a result of the PENS notification is up to the specific LMS. It is important to realize that different LMS systems might behave differently.

Before PENS was introduced, there used to be a gap between the creation of content packages by e-learning authoring environments and the deployment of those content packages to an LMS. Nine times out of ten, an LMS administrator (yes, a human person) had to manually collect your content package and then somehow upload or publish it to the LMS, where students might ultimately have access to it. Without this intermediate step, which usually involved a human taking action, the concept of shared content was incomplete, because the LMS did not have a means to obtain a newly developed, revised, or updated content package automatically. PENS is supposed to address this gap, because it sends an announcement to the LMS. Ideally, this announcement becomes an automated (and integrated) part of the publishing process. This is where Adobe Captivate 2 comes in, because it is one of the first e-learning authoring environments capable of sending a PENS notification automatically every time it publishes your project.

When the LMS has received the PENS notification, it is supposed to send alerts to a certain receipt address (most of the time, an e-mail address). The intent of these alerts is to provide a means for notifications as the content package progresses through the LMS provider's workflow. I'll show you how to do all this in the context of Adobe Captivate 2 in a minute. For now, you can think of these alerts as responses from the LMS while it is working on your content package. Because these alerts might arrive later in time (not necessarily as a direct response to the PENS notification), your e-learning authoring environment will not wait for them. For example, if Adobe Captivate 2 doesn't receive an immediate error from the LMS as a response to the PENS notification, it will assume that everything is processing successfully, and that the content package has been delivered to the LMS.

For example , consider a courier service as a conceptual model for PENS. Two parties may use the courier service to request pickup, perform transfer, and confirm delivery of materials. However, let's say the courier doesn't require the recipient post-process the materials in any particular way. For instance, the recipient may decide to use the parcel as notification to remove something, add the parcel to stock, or replace existing stock. The recipient determines all post-delivery processing. The recipient sets its own policy and procedures and may (or may not) choose to notify the party that requested delivery of specific events as it sees fit.

Are you confused? Well, the good news is Adobe Captivate automates the procedure almost entirely. Next, I'll show you how to publish your e-learning content packages to your LMS without human intervention (or any other gaps) between your favorite e-learning authoring environment (Adobe Captivate, that is), and your LMS.

About the author

Stefan van As is an independent contractor, working from his home in the Netherlands. Besides developing eLearning projects, he is often consulted for his programming expertise (Borland Delphi, JavaScript, and C#). His portfolio consists of pharmaceutical companies, educational publishers, software companies, and defense—both national and abroad.