Most XML API actions that work with courses
and curriculums require the
sco-id
of the course
or curriculum. You often need to locate the
sco-id
dynamically,
before you call another action, without knowing the exact name of
the SCO.
Use these best practices to make searching for training SCOs
efficient:
-
Create specialized folders within the Shared Training
folder for storing courses and curriculums. You can do this in Adobe
Connect Central, or you can use the XML API, in which the Shared
Training folder is named
courses
.
-
Use these folders to store various categories of courses
and curriculums, such as
Marketing Training
or
Sales Training
.
-
Use a flat structure in the specialized folders, storing
courses and curriculums one level deep.
This directory structure is also recommended when you want to
display a list of all courses and curriculums (or all those in a
subject area) and allow users to enroll themselves.
If you are working in Adobe Connect Central, you can find the
sco-id
of
a course or curriculum by navigating to it, clicking its URL, and
taking the value of
sco-id
from the browser URL.
You can also locate the
sco-id
from an application,
using the XML API.
Find the sco-id of a course or curriculum
-
Call
sco-shortcuts
:
https://example.com/api/xml?action=sco-shortcuts
-
Parse the response for the
sco-id
of the
courses
folder:
<sco tree-id="624528" sco-id="624528" type="courses">
<domain-name>http://example.com</domain-name>
</sco>
You cannot use a filter with
sco-shortcuts
,
but you can parse the response for the
sco
element
that has
type=courses
.
-
Call
sco-contents
, passing the
sco-id
of
the
courses
folder and filtering for your specialized
training folders:
https://example.com/api/xml?action=sco-contents&sco-id=624528
&filter-name=Sales Training
-
You can
use
filter-name
,
filter-url-path
,
another exact match filter, or a date filter. However, be careful
when using
filter-like-name
, as it might affect
server performance.
-
You can also get the
sco-id
of your specialized
training folder from the browser URL in Adobe Connect Central and
pass it to
sco-contents
.
-
Parse the response for the
sco-id
of your
specialized training folder:
<sco sco-id="2007122244" source-sco-id="" folder-id="624528"
type="folder" icon="folder" display-seq="0" is-folder="1">
-
Call
sco-contents
, passing it the
sco-id
of
the specialized training folder and adding a filter that identifies
the course or curriculum:
https://example.com/api/xml?action=sco-contents
&sco-id=2007122244&filter-name=Java 201
-
You can call
sco-contents
, rather than
sco-expanded-contents
,
if all courses and curriculums are stored at the top level of your
specialized training folder. This improves performance.
-
You can define custom fields for SCOs if it helps you identify
them in searches (see
Create custom fields
).
-
Parse the
sco
elements in the response for
the
sco-id
of the course or curriculum:
<sco depth="2" sco-id="2006745673" folder-id="2006745671" type="content"
icon="course" lang="en" source-sco-id="2006744233"
display-seq="1" source-sco-type="0">
<name>All About Web Communities</name>
<url-path>/p33096345/</url-path>
<description>Web 2.0 course</description>
<date-created>2006-06-12T14:48:25.870-07:00</date-created>
<date-modified>2006-06-12T14:48:25.870-07:00</date-modified>
</sco>
List all courses or curriculums available
-
Get the
sco-id
of
a specialized training folder you have created.
You can also
get the
sco-id
by navigating to the folder in Adobe
Connect Central, clicking its URL, and reading the
sco-id
in
the browser URL.
-
Call
sco-contents
, passing the folder’s
sco-id
:
https://example.com/api/xml?action=sco-contents&sco-id=2006258748
The
best practice is to create the specialized training folders one
level deep. By doing so, you can call
sco-contents
rather
than
sco-expanded-contents
. This gives better performance.
-
Parse the response for
name
,
url-path
,
or any values you want to display:
<sco sco-id="2007035246" source-sco-id="2006334909"
folder-id="2006258748" type="content" icon="course"
display-seq="0" is-folder="0">
<name>Java 101</name>
<url-path>/java101/</url-path>
<date-begin>2006-07-20T17:15:00.000-07:00</date-begin>
<date-modified>2006-07-20T17:21:38.860-07:00</date-modified>
</sco>
|
|
|