---
title: "How to Bulk Upload Content"
canonical: "https://docs.pbs.org/space/DLM/3577608/How%20to%20Bulk%20Upload%20Content"
format: markdown
---
> Macro (toc)

> ✅ **Bulk upload is reserved for unique cases. Please ****[contact PBS](mailto:PBSLM.MC@pbs.org)**** before getting started.**

## What does it mean to bulk upload content?

<span style="color: #ff0000">**Bulk upload supports creating and updating resources and assets. Each row in your spreadsheet must contain “update” **</span><span style="color: #ff0000">***or***</span><span style="color: #ff0000">** “create” only; you cannot combine an update and create in the same row. If you need to create a resource and update an asset, or vice versa, add them on separate rows. **</span><span style="color: #ff0000">**[Check out a sample file](https://docs.pbs.org/download/attachments/3577608/sample-bulk-upload-file-April-2018.xlsx)**</span>

Many PBS LearningMedia contributors upload between three and 20 resources per project. The bulk content upload feature provides a fast and easy way to ingest several resources at one time. To utilize this feature, contributors must prepare and organize metadata in a spreadsheet prior to upload. Organization is key so use the bulk upload spreadsheet as a tool to ensure the accuracy of your metadata.

If you want to make changes to several resources that are already in the system, you can request a bulk download by emailing PBS at [PBSLM.MC@pbs.org](mailto:PBSLM.MC@pbs.org). We will bulk download your content to an Excel spreadsheet then you can make changes to the spreadsheet and bulk upload it [following the instructions below](https://docs.pbs.org/space/DLM/3577608/How+to+Bulk+Upload+Content#How-to-upload-your-CSV-file).

## How does it work?

***The process begins with you! **** *First you must [contact PBS](mailto:PBSLM.MC@pbs.org) to discuss the process. After getting the thumbs up from the content team, construct a bulk content upload file that contains [all of the metadata you want to import](https://docs.pbs.org/space/DLM/3577608/How+to+Bulk+Upload+Content#How-to-fill-out-your-bulk-upload-spreadsheet). The PBS LearningMedia bulk upload tools then pulls the content from the spreadsheet and systematically places it into the proper places so it surfaces on www.pbslearningmedia.org as if you had manually typed everything in.   

## Acceptable file formats

Only [CSV](https://en.wikipedia.org/wiki/Comma-separated_values) and [XLSX](https://www.leadtools.com/help/sdk/v21/dh/to/file-formats-microsoft-excel-spreadsheet-xlsx-xls.html) files are accepted.

> ❌ **When adding links to your spreadsheet, please paste them in a browser window to be sure they work. If a link has an "https" prefix but does not work in a browser, please try using "http" instead.**

## Who can bulk upload content?

Only Service Admins and Content Admins can bulk upload content. Before getting started, contact PBS at [PBSLM.MC@pbs.org](mailto:PBSLM.MC@pbs.org).

[See full list of roles and permissions](https://pbs-docs.atlassian.net/wiki/spaces/DLM/pages/3577727)

## How to create a bulk content upload file

In order for your bulk content file to upload correctly, you must be sure to include all necessary fields. Review [this table](https://docs.pbs.org/space/DLM/3577608/How+to+Bulk+Upload+Content#How-to-fill-out-your-bulk-upload-spreadsheet) that shows which fields are required and guides you on how to your data should be formatted. Pay close attention to the examples in the table and model your spreadsheet after the [sample file](https://pbs-docs.atlassian.net/wiki/download/attachments/3577608/sample-bulk-upload-file-April-2018.xlsx?version=2&modificationDate=1523885207744&cacheVersion=1&api=v2). 

## <span style="color: #ff0000">Important notes about bulk content upload</span>

> ❌ <span style="color: #ff0000">**When adding links to your spreadsheet, please paste them in a browser window to be sure they work. If a link has an "https" prefix but does not work in a browser, please try using "http" instead.**</span>

- Use all lower case lettering in your spreadsheet column headings.
- Do not use any spaces in your column headings and only use underscores to separate words.
- You cannot make up column header names; you must use the [names established by PBS](https://docs.pbs.org/space/DLM/3577608/How+to+Bulk+Upload+Content#How-to-fill-out-your-bulk-upload-spreadsheet).
- Always customize your resource code. [See additional information](https://pbs.box.com/s/rhyycn1f19bj8e78nu1jhs4p5jy6q4b3)
- Copy the resource title and paste into the asset.
- Bulk upload ONLY supports resources with a single primary media object (defined in the main resource line) and support materials (defined in separate lines).  Media galleries and collections are not supported by bulk upload.
- For Text fields, be sure to change the excel columns to Text.  Highlight the cells to which you are adding text, click the dropdown menu in the Number menu and click Text.
- Save your file in in either .xlsx or .csv format. Other formats are not accepted.
- Be sure to include HTML character codes in the long description field.
  
- For Text fields, be sure to change the excel columns to Text.  Highlight the cells to which you are adding text, click the **dropdown menu in the Number menu** and click **Text**.
  

## How to fill out your bulk upload spreadsheet

| **Column name** | **Format** | **Example ** | **Required?** | **Additional notes ** |
| --- | --- | --- | --- | --- |
| role | Text | resource | YES | Acceptable values:<br>- resource
- program
- chapter<br>Category names for support materials:<br>- About this activity
- Activity
- Background essay
- Connections
- Discussion questions
- Follow up
- For students
- For teachers
- Frame/focus
- Other
- Student handout
- Teaching tips<br><span style="color: #ff0000">**These are case sensitive and do not support trailing/leading spaces.**</span><br>If a row is identified as support material, the contents must be added as a support material asset to the closest previous resource in the file (resource, program, or chapter). |
| object_code | Text |  | YES | Must be unique to individual spreadsheet. |
| related_object |  |  | NO | If includes data for a segment resource, the related_object can be the code of the full-length program.<br>If includes data for a support material asset, the related_object code must be the code of the resource to which the support asset will be attached. |
| resource_code | Text | 41fd17c0-74db-40b7-8675-61d7f72e7558 | NO | Is automatically set by system if left blank, however, ***we strongly urge that you add custom text to this field***. This field is required if updating resource. <span style="color: #ff0000">**Letters, numbers, and the following special characters are supported: period**</span><span style="color: #339966">**(**</span><span style="color: #ff0000">**.**</span><span style="color: #339966">**)**</span><span style="color: #ff0000">**, dash**</span><span style="color: #339966">**(**</span><span style="color: #ff0000">**-**</span><span style="color: #339966">**)**</span><span style="color: #ff0000">**, and underscore**</span><span style="color: #339966">** (**</span><span style="color: #ff0000">**_**</span><span style="color: #339966">**)**</span><span style="color: #ff0000">**. No other special characters are supported.**</span> |
| asset_code | Text | 251096a2-62c4-4420-ba95-a3457c6dcb41 | NO | Is automatically set by system if left blank, however, ***we strongly urge that you add custom text to this field***. This field is required if updating asset. <span style="color: #ff0000">**Letters, numbers, and the following special characters are supported: period**</span><span style="color: #339966">**(**</span><span style="color: #ff0000">**.**</span><span style="color: #339966">**)**</span><span style="color: #ff0000">**,**</span><span style="color: #339966">** **</span><span style="color: #ff0000">**dash**</span><span style="color: #339966">**(**</span><span style="color: #ff0000">**-**</span><span style="color: #339966">**)**</span><span style="color: #ff0000">**, and**</span><span style="color: #339966">** **</span><span style="color: #ff0000">**underscore **</span><span style="color: #339966">**(**</span><span style="color: #ff0000">**_**</span><span style="color: #339966">**)**</span><span style="color: #ff0000">**. No other special characters are supported.**</span><span style="color: #ff0000"> </span> |
| resource_title | Text | The Theory of the Rainbow | YES | Required if creating a resource.  Can use resource code if updating resource. |
| asset_title | Text | The Theory of the Rainbow | YES |  |
| asset_type | Text | Regular | NO | Options are regular or pointer. |
| allow_in_tools | Text | N | NO | Decides if your resource is available to the [Teacher tools](http://www.pbslearningmedia.org/help/faq/#teacher) (Y) or not (N). |
| poster_image | Absolute URL | [http://d43fweuh3sg51.cloudfront.net/ media/assets/CUGE114_1_16x9.jpg](http://d43fweuh3sg51.cloudfront.net/media/assets/CUGE114_1_16x9.jpg) | Not required for support materials | Be sure to include entire URL including http://<br>Type the word "keep" if you are not re-uploading the poster image. The word "keep" retains the existing poster image.<br>Support materials include:<br>- About this activity
- Activity
- Background essay
- Connections
- Discussion questions
- Follow up
- For students
- For teachers
- Frame/focus
- Other
- Student handout
- Teaching tips<br><span style="color: #ff0000">**These are case sensitive and do not support trailing/leading spaces.**</span> |
| is_pointer | Controlled vocabulary | True | NO | Options are True or leave blank. |
| primary_media | Absolute URL | [http://d24tcib9e8meg9.cloudfront.net/media/ media_files/The_Rolie_Polie_Rug_Time_SP.mp4](http://d24tcib9e8meg9.cloudfront.net/media/media_files/ The_Rolie_Polie_Rug_Time_SP.mp4) | YES | Be sure to include entire URL including http://<br>Type the word "keep" if you are not re-uploading the primary media. The word "keep" retains the existing primary media. |
| language |  | ES | YES | If left blank, defaults to EN (English). Language codes are as follows:<br>- LA - Latin
- Descriptive Video
- ZH - Chinese
- DE - German
- EN - English
- JA - Japanese
- FR - French
- ES - Spanish
- AR - Arabic
- NV - Navajo
- IT - Italian |
| transcript | Absolute URL | [http://d43fweuh3sg51.cloudfront.net/ media/transcripts/Jazz20EP820script.pdf](http://d43fweuh3sg51.cloudfront.net/media/transcripts/Jazz20EP820script.pdf) | NO | Type the word "keep" if you are not re-uploading the transcript. The word "keep" retains the existing transcript file. **You must type "keep" in this field if primary_media uses "keep."** |
| video_closed_caption | Absolute URL | [http://d24tcib9e8meg9.cloudfront.net/ media/captions/caption_good.dfxp](http://d24tcib9e8meg9.cloudfront.net/media/captions/caption_good.dfxp) | NO | Type the word "keep" if you are not re-uploading the video closed caption file. The word "keep" retains the existing video closed caption file. **You must type "keep"  in this field if primary_media uses "keep."** |
| long_description | Text | A rainbow is a phenomenon that is caused by reflection and refraction of light in water droplets in the Earth's atmosphere, resulting in a spectrum of light appearing in the sky.  All rainbows are full circles, however, the average observer only sees approximately the upper half of the arc, the illuminated droplets above the horizon from the observer's line of sight. | NO | Should not exceed 650 characters, spaces included. |
| learning_objective | Text |  | NO |  |
| media_type_general | Text | video | YES | Controlled vocabulary choices:<br>- Audio
- Document
- HTML Fragment
- Image
- Interactive
- Video
- Webpage<br>Only one choice can be included. |
| media_type_specific | Text |  | YES | Choices are dependent on the media_type_general selection.  [Learn more](https://docs.pbs.org/space/DLM/3578365/Asset+Metadata) |
| content_flags | Text | - Graphic Sexual Activity
- Drugs/Alcohol/Tobacco/Firearms
- Nudity
- Violence
- Adult Language
- Mature Content
- Other
- Abusive Language | NO | Values must be separated with commas. |
| content_flags_description | Text |  | NO |  |
| audience |  | educator | YES | Options are Educator and Learner or Educator Only. |
| copyright_year | Text | &copy; 1977 Scientific American | YES | Format year as YYYY. |
| rights_distribution |  | commercial | YES | Commercial or Non-commercial |
| rights_level |  | stream and download | YES | Allowable rights:<br>- Stream Only
- Stream and Download
- Stream, Download and Share
- Stream, Download, Share and Modify<br>[View more about rights](https://www.pbslearningmedia.org/help/terms-of-use/#permitted) |
| publication_date | Text | 2015-01-05 | NO | Must be in the following format: YYYY-MM-DD. |
| available_date | Text | 2014-12-24 | NO | Must be in the following format: YYYY-MM-DD. |
| expiration_date | Text | 2014-09-01 | NO | Must be in the following format: YYYY-MM-DD. |
| keywords |  | rainbows, weather, humidity | NO | Values must be separated with commas. |
| grades |  | 6,7,8,9,10,11,12 | YES | Values must be separated with commas. |
| ch_nodes |  | 9d9b5906-8915-40f2-9efa-0ffec914ec08 | NO | Values must be separated with commas.  At least one ch_node is required. |
| attributions |  | producer:"WGBH",funder:"Gates Foundation" | NO | <type>:<name> pairs must be separated with commas. Enclose each entity name in double quotes.  If more than one entity with a type, separate entities with commas.<br>Types include:<br>- producer
- funder
- contributor
- brand<br>Try to match Entity to the Entity names in the CMS (can be found in Entity column in the Brand Attributions section of an asset). |
| resource_slug | Text | hip-hop-lesson-1-points-of-view | NO |  |
| accessibility_indicators | Text |  | NO | Values must be separated with commas. |
| asset_slug | Text | hip-hop-beyond-beats-rhymes-collection | NO |  |

## Sample file

Open the sample file below, save the file to your computer, and overwrite the cells with your own data. Do not change the column header titles.

 [Sample bulk upload file](https://pbs-docs.atlassian.net/wiki/download/attachments/3577608/sample-bulk-upload-file-April-2018.xlsx?version=2&modificationDate=1523885207744&cacheVersion=1&api=v2)

## How to upload your CSV file

- From the main CMS dashboard, in the *Content* section (Figure 1.1), click **Bulk Upload Content** (Figure 1.2).

Figure 1

![bulk-upload-content1.jpg](media://ddf729d8-453f-47ad-94f2-16a9ca7f168a)

- In the Content Project textbox, type the **name of the content project** that is associated with the content you are uploading (Figure 2.1). As you type, a list of possible matches is generated. Click*** the content project name*** to which you want to associate the bulk content file. <span style="color: #ff0000">Do not just type and click Enter. This ensures that your spreadsheet goes to the valid and authentic content project.</span>
- Click **Choose File **to search your computer for your bulk upload file (Figure 2.2).

> ⚠️ **If you are uploading a spreadsheet that includes more than one content project, leave the content project textbox empty. **

Figure 2

![bulk-upload-content2.jpg](media://3cf8a76c-6a7e-4306-bd93-49d1577be25e)

- After locating the file, click the **file name** (Figure 3.1).
- Click **Open** to add it to the PBS LearningMedia CMS (Figure 3.2).

Figure 3

![bulk-upload-content3.jpg](media://462ccf5a-e123-4bca-9cec-9f2c1989fc35)

- The source file has committed (Figure 4.1).
- In the Contributor textbox, type the **email address** of the person responsible for the content in the bulk upload file (Figure 4.2).
- Click **Save and import** to initiate the bulk upload process (Figure 4.3).

Figure 4

![image](media://0e1f594c-6e4b-4721-8ef0-f9812505f4c5)

- Two alerts appear at the top of the page in green (Figure 5.1):
  - Whether or not the file was added successfully.
  - That the bulk upload import has been initiated and that you can refresh the page to track the upload process.
- Check the Bulk upload status section to see if the import is in progress (Figure 5.2).
- After a few seconds, **refresh the page** to see if the process has finished (Figure 5.3). The amount of time you need to wait to refresh depends on the size of your bulk content file. The larger the file is, the longer it will take to upload.

Figure 5

![image](media://7fc8309e-846b-418a-abd3-c4396359c193)

- The uploading process has begun.  A status message appears under each column (Figure 6).

Figure 6

![how-to-upload-bulk-content-file6 (1).jpg](media://f88897a4-d2db-444a-b616-3d826faa8634)

- Refresh the page to see updated statuses (Figure 7).

Figure 7

![bulk-upload-content7.jpg](media://b6145868-431d-449e-9bea-a48c211ddde3)

- Once all statuses display "Successfully Uploaded" your bulk content file is completely uploaded (Figure 8.1).
- Click any **resource link** to view each individual resource in the CMS (Figure 8.2).  You can make modifications to each individual resource from this page.  If you do make changes, be sure to click Save.

Figure 8

![bulk-upload-content8.jpg](media://fd9e29fb-3b8b-45c7-ab6c-10038eacbabe)

- Click **View on site** in the upper right side of the page to view your resource in a browser (Figure 9).

Figure 9

![bulk-upload-content9.jpg](media://db8a53aa-f881-40d5-adc7-299702d18349)