Characteristics of SCOs

When you study the XML responses of various calls, you notice more characteristics of SCOs:

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 Connect Enterprise 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 sco-shortcuts to get a list of root folders on Connect Enterprise:
    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 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:

  5. 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
  6. 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
  7. 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.
  8. 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/
    


Take a survey


 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/breeze/6/xml_api/03_perm9.htm