Skip to content
Crossknowledge - Content Provider Data Feed
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md
catalog_example.xml
catalog_import.xsd
check.py
requirements.txt

README.md

Crossknowledge - Content Provider Data Feed

This resource is targeted at content providers wanted to integrate with our content management system.

Format of the content

At the moment, we accept these different formats:

  • Static Files : pdf, docx, xlsx, images etc.
  • Video Files : mp4, with subtitles in srt format;
  • Scorm Packages : 1.2 and 2004.

Metadata and presentation

The metadata should be presented as an XML file. You'll find the XML Schema in this repository (catalog_import.xsd) Even if the node has no value the node must be in the catalog in right order.

Presentation

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
	<provider>
		<name>CrossKnowledge Library</name>
		<description>Content from LCMS Content</description>
		<picture>http://example.ck/crossknowledge.gif</picture>
		<defaultThumbnail>
			<content>crossknowledge.gif</content>
		</defaultThumbnail>
	</provider>
	<contents>
		<content>
			<refId>OJMH390</refId>
			<refIdVersion>OJMH390_v1</refIdVersion>
			<title>How to Give a Constructive Feedback</title>
			<locale>en-US</locale>
			<description>This course will start out reviewing traditional CSS3 Layout, including flexbox, regions, and multicolumn layout. Then we will discuss WinJS controls that support additional UI layout options, including the ListView, SemanticZoom, and ViewBox controls.  We will see that the ListView displays items in grid or list layout, whereas the SemanticZoom supports zoom between two semantic levels, and the ViewBox allows for dynamically scaling single child element to fill available space without changing aspect ratio.</description>
			<summary>Feedback can help staff members to progress and develop their skills provided it is given in the right way. This session will show you how to identify common errors and the principles of constructive feedback.</summary>
			<type>i</type>
			<subtype>Interactive</subtype>
			<runtime>CKLM_SCORM</runtime>
			<url>http://path/to/object/OJMH390.zip</url>
			<alternateUrl></alternateUrl>
			<publicationDate>2014-02-14</publicationDate>
			<thumbnail>img/8AI5.PNG</thumbnail>
			<audience></audience>
			<objectives></objectives>
			<duration>30</duration>
			<level>1</level>
			<additionalData></additionalData>
			<tags>
				<tag>Skills Management</tag>
				<tag>Training</tag>
				<tag>Evaluation</tag>
				<tag>Learning</tag>
			</tags>
			<themes>
				<theme>Developing Autonomy > Identifying the problem</theme>
			</themes>
			<authors>
				<author>
					<firstName>Peter</firstName>
					<lastName>Thorsteinson</lastName>
					<company></company>
					<authorThumbnail>img/thorsteinson.png</authorThumbnail>
					<biographies>
						<biography>
							<locale>en-US</locale>
							<biographyFull>Peter Thornsteinson...</biographyFull>
							<biographyShort>Microsoft Expert</biographyShort>
						</biography>
					</biographies>
				</author>
			</authors>			
		</content>
	</contents>
</catalog>

XML content description

Field/Node Type/Format Size Required Description
catalog Main node YES
  provider node YES Informations block about provider
    name text YES
    description text 256 YES Short description about company, content, etc
    picture url suggestion: 250px X 60px. YES Absolute or relative url. To relative url, the url should be relative to this XML. Eg. XML url: http://somesite.com/PATH_TO_XML/catalog.xml, the url for this image should be PATH_TO_XML/someimage.png
    thumbnail url
  contents node YES
    content node YES For each content
      refId text 45 YES Reference ID. Must be unique for all versions of content. Eg: AB22 . The refId represents the content in all languages and versions available.
      refIdVersion text 45 YES Reference ID Version. Represent version of content. Eg: AB22 English v1, AB22 Spanish v2, etc.
      title text YES Unicity not required but highly recommended
      subtitle text
      locale text Language of content. Better if uses the language Country format. Eg: en US, fr FR, etc.
      description text Legacy, should be empty. Use summary instead
      summary text
      type text Use "a" => Audio, "d" => Document to download, "p" => Image, "i" => Interactive content (Scorm), "r" => Reading document, "v" => Video, "w" => Website, Url, public file hosted at other servers, etc.
      subtype text YES If the content is categorized, put category here
      runtime text YES Use: "CKLM_SCORM" => Scorm
"CKLM_FILE" => Reading document, PDF, Image, DOC
"link_lo_guid" => Website, url
      url text
      alternateUrl url
      publicationDate date (YYYY-mm-dd) YES First publication date. Creation date to help versions control.
      thumbnail url Absolute or relative url. To relative url, the url should be relative to this XML. Eg. XML url: http://somesite.com/PATH_TO_XML/catalog.xml, the url for this image should be PATH_TO_XML/content_thumbnail/someimage.png
      audience text
      objectives text
      duration int In minutes Eg. 10,20,etc.
      course text
      tags One or more, one per tag
        tag(1) text
        tag(n) text
      themes This element can be used for a more detailed categorization using character ">". Eg. Main Theme > SubTheme > ...
        theme(1) text
        theme(n) text
      authors One or more
        author text
          firstname text
          lastname text
          email text
          jobtitle text
          company text
          phone text
          authorThumbnail text Absolute or relative url. To relative url, the url should be relative to this XML. Eg. XML url: http://somesite.com/PATH_TO_XML/catalog.xml, the url for this image should be PATH_TO_XML/authors_thumbnail/someimage.png
          customGuid text
          competencies text
          authorThumbnail text
          biographies
            biography One or more
              locale Language of biography. Should be in this format: language-COUNTRY. Eg: en-US, fr-FR, etc.
              biographyFull
              biographyShort
      additionalData text
      videoSubtitles
        subtitle (en-US) text Eg: legend_en-US.srt
        subtitle (fr-FR) text Eg: legend_fr-FR.srt
      audiences One or more audience. Eg: Leader, Senior manager, project manager, etc. One audience pe tag.
        audience (1) text
        audience (2) text
      level int 1,2 or 3
      scoreinprogress text
      detailedcontent text

How do I send my metadata and my content ?

We will provide you with an SFTP server where you will send the content and the metadata files.

Naming Scheme

Catalog

The catalog should be created with the date of the creation in the name following this convention:

catalog-YYYYmmddHHMMSS.xml

Example : catalog-20160403132400.xml for a catalog created on the 3rd of April 2016, at 1:24:00 pm. The hours need to be in the 24h format.

Our system will process the files and put them in a backup directory afterwards.

Reference to the content

The references in the XML file can be either absolute (http://domain/path/to/file.png) or relative to the position of the catalog file. If you have an directory structure like this FTP/ - catalog-20160403132400.xml - Scorm/ - first_course.zip - second_course.zip - Img/ - course_1_thumb.jpg - course_2_thumb.jpg

Then your catalog should look like that:

	...
	<content>
		<title>Course 1 title here</title>
		<thumbnail>Img/course_1_thumb.jpg</thumbnail>
		<url>Scorm/first_course.zip</url>
		...
	</content>
	<content>
		<title>Title of the Second course</title>
		<thumbnail>Img/course_2_thumb.jpg</thumbnail>
		<url>Scorm/second_course.zip</url>
		...
	</content>
	...

It's recommended to use simplify the name of the assets to use only basic characters: [a-zA-Z0-9_-.]

How do I test my catalog.xml ?

We've included a simple python tool to test that

Requirements

To use our tool you need to make sure that you have python-lxml installed:

pip install -r requirements.txt

Check my catalog

Once you have the requirements installed you can check your datafeed like this:

python ./check.py my_catalog.xml
You can’t perform that action at this time.