When
you study the XML responses of various calls, you notice more characteristics
of SCOs:
-
A SCO’s identifier is called a
sco-id
in
some actions, but can also be called
folder-id
,
acl-id
,
or another name in other actions. It’s the same unique ID.
-
Each SCO can be accessed by various principals, either users
or groups. The specific principals who can access a SCO are defined
in access control lists, or ACLs.
-
Each SCO has a unique URL, with two parts: a domain name
(like
http://example.com
) and an URL path (like
/f2006123456/
).
You can concatenate these to form the full URL that accesses the
SCO.
-
Each SCO has a navigation path that describes where it resides
in the folder hierarchy.
-
Each SCO has a permission defined for each principal who
can access it.
-
Some SCOs have description fields, which are text strings
that give you information about the SCO.
Often you need to find the ID of a SCO or some information about
it. SCOs are arranged in a specific folder hierarchy where folders
have names that indicate whether they are at the top level, contain
shared content or templates, or hold user content and templates.
When
you call
sco-shortcuts
, it returns a list of folders.
Notice that folders have different types:
<?xml version="1.0" encoding="utf-8" ?>
<results>
<status code="ok" />
<shortcuts>
<sco tree-id="624530" sco-id="2006258751" type="my-meeting-templates">
<domain-name>http://example.com</domain-name>
</sco>
<sco tree-id="624530" sco-id="2006258750" type="my-meetings">
<domain-name>http://example.com</domain-name>
</sco>
<sco tree-id="624529" sco-id="624529" type="meetings">
<domain-name>http://example.com</domain-name>
</sco>
<sco tree-id="624530" sco-id="624530" type="user-meetings">
<domain-name>http://example.com</domain-name>
</sco>
...
</shortcuts>
</results>
The folders shown in this example happen to be for meetings,
but folders for other types of SCOs follow a similar pattern. Each
folder type stores certain types of objects, with certain access
privileges, as follows:
-
content, courses, meetings, events, seminars
-
These are shared folders, such as Shared
Meetings, Shared Training, and so on. The Adobe Connect Administrator
has access to this folder. The Administrator can assign Manage permission to
any user, but only members of the built-in group associated with
the folder can create new content or meetings within it.
-
user-content, user-meetings, user-courses, user-events
-
These folders each contain a folder for each
user who can create content within it (for example, one folder for
each meeting host or training developer).
-
my-courses, my-events, my-meetings, my-meeting-templates,
my-content
-
Users
create their own content in these folders and have Manage permission
on the content. For example, meeting hosts create meetings in their
my-meetings
folder
and have Manage permission on those meetings.
-
shared-meeting-templates
-
This
folder is within the Shared Meetings folder, contains meeting templates,
and inherits permissions from Shared Meetings.
You can list
the contents of any folder to get information about a specific SCO. When
you need to search for a SCO but do not have a
sco-id
,
move through folders using
sco-shortcuts
and
sco-expanded-contents
.
Do not use
sco-search
, as it returns only certain
types of SCOs.
Find a SCO when you do not know the sco-id
-
Call <<UNRESOLVED XREF>> sco-shortcuts
to get a list of root folders on Adobe Connect:
https://example.com/api/xml?action=sco-shortcuts
-
Parse the response for a
type
of the root
folder that would logically contain the SCO, for example,
my-courses
for
a course the user has created.
-
Parse the resulting
sco
element for a
sco-id
:
<sco tree-id="4930295" sco-id="2006258748" type="my-courses">
<domain-name>http://example.com</domain-name>
</sco>
-
Create a call to <<UNRESOLVED XREF>> sco-expanded-contents
to list the contents of the folder, adding an exact match filter,
if possible:
https://example.com/api/xml?action=sco-expanded-contents
&sco-id=2006258748&filter-name=All About Web Communities
You
have several choices of filters:
-
An exact match filter
on
name
or
url-path
(like
filter-name
or
filter-url-path
),
if you know the name or URL of the SCO.
-
A greater-than or less-than date filter (
filter-gt-
date
or
filter-lt-
date
)
on
date-begin
,
date-created
, or
date-modified
,
if you know one of those dates.
-
A partial name filter (like
filter-like-name
),
if you do not know the exact SCO name. However, using this filter
might affect system performance.
-
Parse the response for the
sco-id
:
<sco depth="1" sco-id="2006745671" folder-id="2006258748" type="folder"
icon="folder" lang="en" source-sco-id="2006745669" display-seq="0"
source-sco-type="14">
<name>A Day in the Life Resources</name>
<url-path>/f28435879/</url-path>
<date-created>2006-06-12T14:47:59.903-07:00</date-created>
<date-modified>2006-06-12T14:47:59.903-07:00</date-modified>
</sco>
Get information about a SCO
-
Call
sco-info
with
the
sco-id
:
https://example.com/api/xml?action=sco-info&sco-id=2006745669
-
Parse the response for
name
,
url-path
,
or any other value:
<sco account-id="624520" disabled="" display-seq="0"
folder-id="2006258748" icon="curriculum" lang="en" max-retries=""
sco-id="2006745669" source-sco-id="" type="curriculum" version="0">
<date-begin>2006-06-12T14:45:00.000-07:00</date-begin>
<date-created>2006-06-12T14:47:59.903-07:00</date-created>
<date-modified>2006-06-12T14:47:59.903-07:00</date-modified>
<name>A Day in the Life</name>
<url-path>/day/</url-path>
</sco>
Construct the URL to a SCO
-
Call
sco-shortcuts
:
https://example.com/api/xml?action=sco-shortcuts
-
Parse the response for the
domain-name
value
in any
sco
element:
<sco tree-id="624530" sco-id="2006258750" type="my-meetings">
<domain-name>http://example.com</domain-name>
</sco>
-
Call
sco-info
with the
sco-id
:
https://example.com/api/xml?action=sco-info&sco-id=2006334909
-
Parse the response for the
url-path
:
<sco account-id="624520" disabled="" display-seq="0"
folder-id="2006258747" icon="producer" lang="en"
max-retries="" sco-id="2006334909" source-sco-id=""
type="content" version="1">
<date-created>2006-05-11T12:00:02.000-07:00</date-created>
<date-modified>2006-05-16T15:22:25.703-07:00</date-modified>
<name>Test Quiz</name>
<url-path>/quiz/</url-path>
<passing-score>10</passing-score>
<duration>15100.0</duration>
<section-count>6</section-count>
</sco>
The
url-path
has both
leading and trailing slashes. You can take the
url-path
from
report-my-meetings
,
report-my-training
,
or any call that returns it.
-
Concatenate the
url-path
with the
domain-name
:
http://example.com/f2006258748/
|
|
|