Content Import

Content Import

In order to take advantage of Rustici Generator’s core features, the application needs to import learning content. Importing learning content involves accessing, parsing, and storing information about the content you want to explore.

Due to the time involved in accessing and parsing the text in a given piece of content, content imports are handled as jobs. This allows the application to continue working on other activities while the content import is happening in the background. There are a number of API endpoints that are used when importing content, each with their own required information. However, all content import requests accept the following properties:

FieldTypeDefaultDescription
content_idstrThe identifier you want to give the piece of content in Generator. This is used to uniquely identify the content (within its tenant).
is_activeboolTrueSpecifies whether or not the version of the course being uploaded should be considered ‘active’. Search can be filtered to consider only active versions. No more than one version of a course may be active at once. If set to true, then currently the current active version will be made inactive.
may_create_new_versionboolTrueDetermines how the application should react to duplicate content IDs. When true, the course being imported will be considered a new version of the existing course. When false, attempts to import a course with a duplicate content_id will be rejected.
field_generationContentImportFieldGenerationRequest (optional)NoneDefinitions for any field generation tasks that should be run as part of the content import process. The fields_to_generate property defines a list of metadata fields to be generated as part of the import process, and the parameters property offers customization for how Generator executes the field generation tasks.
object_store_text_path_overridestr (optional)NoneIf the IMPORT__TEXT_OBJECT_STORE config is enabled, this property allows you to override the default path that the text will be saved to. If not provided, the default path pattern will be used.

Properties of ContentImportFieldGenerationRequest:

FieldTypeDescription
fields_to_generatelist[GeneratedFieldApiType]The list of metadata fields to be generated.
parametersGenerationParamsThe parameters for the field generation job.

Properties of GenerationParams:

FieldTypeDescription
countint (optional)Number of items to generate
modelSupportedGenerationModel (optional)The model to use for the field generation job.
output_language_codestr (optional)The language-country-variant code for the generated field text

Values of GeneratedFieldApiType:

Value
TITLE
SUMMARY
BLURB
PLUG
SKILLS
KEYWORDS
QUESTIONS

Values of SupportedGenerationModel:

Value
CLAUDE_4_5_HAIKU
CLAUDE_3_5_HAIKU
CLAUDE_3_HAIKU

No matter what type of learning content you wish to import or from where Generator is importing that content, these properties must be defined within the import request.

Content Versioning

Generator supports content versioning, and many of Generator’s API endpoints will require specifying both the content_id and version number when interacting with content resources. Content versioning can be helpful if your learning content has gone through revisions or had minor changes. If you want to import a new version of an existing course, start a new import job with an identical content_id property and may_create_new_version set to True.

You can designate one of the course versions as the active version. When performing searches through your content library, you can filter results to only include results from active content versions.

If your learning content has gone through major changes, we advise against versioning an existing course. Instead, we recommend importing a new course. You may consider deleting your outdated content.

Accessing Learning Content

Rustici Generator wants the content import process to be as simple as possible. To that end, effort has been taken to enable Rustici Generator to be able to access content from a variety of places. See below for a list that describes from where Rustici Generator can access your learning content:

  • S3
    • Learning content hosted on an AWS S3 bucket can be imported via the api/v1/jobs/content/s3 endpoint.
    • Import request requires additional information about the bucket’s location and access controls.
      • If you are hosting Generator in AWS (see the self-hosting section), then you can manage access to your S3 bucket(s) using IAM roles. When specifying your S3 location details, set the access_key_id, secret_access_key, and session_token properties to an empty string. This will cause Generator to use the default credential provider chain, pick up the attached IAM role, and use that to authenticate its access to the specified bucket.
    • When importing packaged elearning content from S3, you can provide Generator with either the path to a ZIP file or the prefix of the unzipped package in your S3 bucket
  • File URL
    • Learning content that is hosted on a server and is reachable via a URL link can be imported via the api/v1/jobs/content/file_url endpoint.
    • Import request requires the url link and any URL auth headers that are necessary to reach the file.
  • Web
    • Learning content reflected on a webpage can be imported via the api/v1/jobs/content/web endpoint.
    • Import request requires the url address of the webpage as well as information about how to handle any URL links on the page.
  • SFTP
    • Learning content can be imported via SFTP via the api/v1/jobs/content/sftp endpoint.
    • Import request requires URL information about the location to be imported.
  • Text
    • Credentials that already have the text of their learning content are able to import it directly into Generator via the api/v1/jobs/content/text endpoint.
    • As part of the request, users are responsible for defining the location of each chunk of text that is imported

Supported Content Types

Rustici Generator support learning content of various types.

  • MP4
  • MP3
  • PDF
  • VTT
  • Web pages
  • Raw text
  • Packaged Content authored by:
    • Articulate Storyline
    • Articulate Rise 360
    • Adobe Captivate
    • dominKnow
    • Gomo
    • Intellum Evolve
    • Easygenerator
    • Letter AI

If it is the case where your packaged content was authored by an organization not listed above, Rustici Generator will still attempt to import and parse your content. Generator has a process to import and parse packaged learning content that isn’t covered by one of its “author specific” handling. If the quality of Generator’s import and parsing of the learning content isn’t satisfactory, please reach out to our Delight Team and let us know more about your learning content. We are always looking to expand Rustici Generator’s content support.

Content Imports via other Rustici products

It is possible to automate imports when learning content is imported into an instance of Rustici Engine. This requires setting up an integration with the external application itself. For more information about that workflow and the API endpoints involved in that integration, visit our Integrations documentation pages