Characteristics of SCOs

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

  1. Call <<UNRESOLVED XREF>> sco-shortcuts to get a list of root folders on Adobe Connect:

    https://example.com/api/xml?action=sco-shortcuts
  2. 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.

  3. 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>
  4. 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.

  5. 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

  1. Call sco-info with the sco-id :

    https://example.com/api/xml?action=sco-info&sco-id=2006745669
  2. 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

  1. Call sco-shortcuts :

    https://example.com/api/xml?action=sco-shortcuts
  2. 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>
  3. Call sco-info with the sco-id :

    https://example.com/api/xml?action=sco-info&sco-id=2006334909
  4. 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.

  5. Concatenate the url-path with the domain-name :

    http://example.com/f2006258748/

// Ethnio survey code removed