CSV uploads

Importing Content Metadata

Manual csv Upload

Content can be integrated with EdCast through a manual csv file upload. The source system can share the metadata in the csv format provided by EdCast. The same file can be uploaded in the EdCast system which will ensure that each content item is replicated in EdCast in the form of a SmartCard.
Any admin can manually upload the csv file via the Edcast Admin

Below are some of the content providers that integrate their content with EdCast through csv

  • Analytics
  • Analytica Virtual Lab
  • Automation Anywhere
  • BigThink
  • Cisco
  • CoreStack
  • Cross Knowledge
  • EdgeNetwork
  • Elsevier Clinical
  • Empass
  • Harvard ManageMentor
  • Jigsaw
  • Manipal ProLearn
  • UiPath
  • Upgrad
  • Whil

This method can be used for integrating with any external system who provides metadata in the EdCast specified file format

Automatic import of CSV files on SFTP

The Edcast SFTP CSV Connector for Content Import supports automated content import by consuming CSV Files from a SFTP location

The SFTP site can either be EdCast provided / Customer provided

The content CSV is consumed once daily at 00:00 UTC.

Below is a list of some of the content providers that provide a CSV File via SFTP for importing their content to EdCast

  • A Cloud Guru
  • Harvard Spark
  • Harvard LeadingEdge
  • Skillsoft / Percipio

CSV File format specification for content

  • The file has to be UTF-8 encoded.
  • Comma ( , ) & pipe ( | ) delimiters are supported
  • During the first time upload, it is expected that the file should have the complete catalog.
  • Subsequent uploads are expected to have only the delta - courses added / updated / deleted since the last export.
HeaderOptionalDescription
idNOUnique Id for the Card. This is used to update the course metadata later. 
titleNOTitle to be displayed on the card
deeplink_urlNOThe URL to which the user will be navigated to when he clicks on the card. This should point to the actual content
descriptionYESDescription to be displayed for the card
image_urlYESThe image to be displayed on the card. If empty, stock images will be displayed
keywordsYESThe tags to be mapped to this card so that if the user searches for these tags, the card will be filtered in. Multiple tags should be separated by the comma
durationYESThe duration to be displayed on the card. The duration has to be in number of seconds and the field in a numeric field
is_privateYESMark card as private. [true/false]
archiveYESIf the value here is "Y", the card will be archived & no longer listed in the platform
languageYESThe language to be displayed on the card. The only single value is supported. (e.g. The language has to be "en" for English , "fr" for French.)
prices_dataYESThis has to be an array of prices in the below format
[{"amount": "780", "currency": "INR"}, {"amount": "10", "currency": "USD"}]
If the value is blank, the card displays as free. Currently only USD & INR are supported ($ or ₹ is not supported)
content_typeYESarticle / course / video / audio / document / course / project / quiz / video / classroom
embed_urlYesThe URL to show the video in embed format.
channelsYesComma separated ids of groups with which the content has to be shared
provider_nameYesProvider name to show name of the content provider.
levelYesBeginner /  Intermediate / Advanced 
cpe_creditsYesThe credits are to be given in numeric format always for eg: 10,20 or 50 will work.
cpe_subjectYesThis is a string value and it can be any for eg: Java, cloud, perl, ruby etc.
archive_dateYesThis is for future use . It expects a date strictly in the YYYY-MM-DD format.

|

🚧

Caution

If the Id is all numeric & if there are any values starting with zero, one common issue is that if you open the file in Excel & save it, it removes the leading zeroes. Hence, avoid updating the file through Excel.

📘

Handling delimiters & quotes in the data

If the data itself contains the delimiter e.g. a comma(,) or quotes(") ensure that they are handled correctly as explained below.

  • Fields with embedded commas or double-quote characters must be quoted.

    1997, Ford, E350, "Super, luxurious truck"

  • Each of the embedded double-quote characters must be represented by a pair of double-quote characters.

    1997, Ford, E350, "Super, ""luxurious"" truck"

Importing Content Completions

Automatic import of CSV files on SFTP

The Edcast SFTP CSV Connector for Completions Import supports automated content completion import by consuming CSV Files from a SFTP location

The SFTP site can either be Edcast provided / Customer provided

The content CSV is consumed after every 3 hours starting at 00:00 UTC.

CSV File format specification for completions

  • The CSV file requires the below 3 mandatory columns . All other columns are ignored. The order of columns does not matter.
  • The file has to be UTF-8 encoded only.
  • The files are expected to have only the delta - completions since the last export.
Column HeaderDescription
emailThe email Id of the user in edcast
object_idThe id of the course which is the same id which is used during content creation
statusThe status column can have one of the values listed in the table below. For any other values , the row is ignored
timestampTimestamp column is optional which will accept value in '2020-05-02T13:55Z'(YYYY-MM-DD) format.
Below two formats are supported,
2020-05-02T13:55Z
2020-05-02T13:55:00Z

📘

Note

Only completions (& NOT Assignment) are imported

🚧

Caution

If the Id is all numeric & if there are any values starting with zero, one common issue is that if you open the file in Excel & save it, it removes the leading zeroes. Hence, avoid updating the file through Excel.

📘

Handling delimiters & quotes in the data

If the data itself contains the delimiter e.g. a comma(,) or quotes(") ensure that they are handled correctly as explained below.

  • Fields with embedded commas or double-quote characters must be quoted.

    1997, Ford, E350, "Super, luxurious truck"

  • Each of the embedded double-quote characters must be represented by a pair of double-quote characters.

    1997, Ford, E350, "Super, ""luxurious"" truck"

Importing User Data

Manual CSV Upload

This method requires that the user data is available in a CSV format
An admin can manually upload the CSV file via the Edcast Admin

Automatic import of CSV files on SFTP

The edcast HRMS SFTP CSV Connector supports automatic import of HRMS data to sync user data into edcast through CSV files at a SFTP location.

  • The HRMS system of the customer exports out HRMS data in CSV format periodically and uploads it to a SFTP location.
  • The file is also PGP encrypted using the public key provided by edcast to ensure security of user data. (only if using Edcast provided SFTP location)
  • The edcast HRMS Integration framework periodically checks the SFTP location for new files and imports the user data.
  • In addition to basic user data like First name, Last name, email address the system also imports custom attributes and user states like active or terminated.

The SFTP site can either be Edcast provided / Customer provided

CSV File format specification for user data

  • The file has to be UTF-8 encoded.
  • Comma ( , ) & pipe ( | ) delimiters are supported
  • During the first time upload, it is expected that the file should have all the users that are to be imported to Edcast.
  • Subsequent uploads are expected to have only the delta - users added / updated / terminated since the last export.
  • The first 5 columns are expected to be first_name, last_name, email & external_id, status (exact order). Other columns can be in any order after the 4th column
Column NameDescriptionMandatory
first_nameYes
last_nameYes
emailYes
external_idThis has to be a unique Id which will stay constant for the user throughout their career. Using email id is NOT recommended here since email id of users may changeYes
statusShould be one of - active/inactive/ suspendedYes
groupsNames of Groups comma separated. Groups are created within Edcast for managing content sharing & restrictions. The groups have to be either created manually in advance / by using the Workflow Feature. The HRMS upload process does not create groupsNo
picture_urlNo
passwordNo
learning_topic_labelsname of learning topics for the user separated by a comma ( These should be present in sociative for the user's organization. The learning topics provided should be within organizations learning_interests_limit)No
manager_idThis supports user-manager mapping via bulk import. We can map a Manager to an user by adding External ID of Manager in the Manager ID column for the user.No
job_titleThe Job Title to set for the userNo

🚧

Caution

If the Id is all numeric & if there are any values starting with zero, one common issue is that if you open the file in Excel & save it, it removes the leading zeroes. Hence, avoid updating the file through Excel.

📘

Handling delimiters & quotes in the data

If the data itself contains the delimiter e.g. a comma(,) or quotes(") ensure that they are handled correctly as explained below.

  • Fields with embedded commas or double-quote characters must be quoted.

    1997, Ford, E350, "Super, luxurious truck"

  • Each of the embedded double-quote characters must be represented by a pair of double-quote characters.

    1997, Ford, E350, "Super, ""luxurious"" truck"

Custom Attributes

In addition to the above listed fields, Edcast supports scalar values (name - value pairs to be stored against the user data) For this, it is required to first create the Custom Attributes in the Edcast Admin & then provide the values in the above file in columns with header = the abbreviation created for the Custom attribute.

Email Id Change scenario

To handle Email Id scenario the below points should be considered

  • The external_id column will be used to store the unique Id of the user. The value should not be the email id of the user. It has to be another Id which stays constant throughout the user's employment in the org
  • The CSV should provide the new email in the email column when the email id has changed, but the column external_id should have the same unique Id as before
  • The SSO Id should be the external_id