# Setting Up Standard RSS with Outbound Feeds

Source: https://dev.arcxp.com/arc-io/developer-docs/setting-up-standard-rss-with-outbound-feeds/

The standard RSS block is an out-of-the-box template that uses custom fields to quickly and easily set up, configure and manage your feed.

## Feed Setup

The standard RSS feed is a platform level Arc feed block with configurable and customizable parameters.

See [How to set up and configure an Outbound Feed](https://dev.arcxp.com/arc-io/developer-docs/how-to-set-up-and-configure-an-outbound-feed/) to configure the standard RSS feed.

## Channel Configuration

### 1\. RSS Title

Value for RSS title.

default: `feedTitle environment value`

### 2\. RSS Description

Value for RSS description.

default: `feedTitle + " News Feed"`

### 3\. RSS Language

Value for RSS language using an [ISO-639](https://www.rssboard.org/rss-language-codes) value. If left blank it will default to the value of feedLanguage set in your blocks.json. The tag can be removed by entering “Exclude” in the field.

default: `blank (uses feedLanguage)`

### 4\. Copyright

Optional value for copyright.

default: `no copyright`

### 5\. Time to Live

Suggested number of minutes that the consumer could cache the results.

default: `1`

### 6\. Update Period

Used in combination with Update Frequency, this is the unit of time. If Excluded both Update Period and Update Frequency will be excluded from the feed.

Select one: `hourly`, `daily`, `weekly`, `monthly`, `yearly` or `Exclude field`.

default: `hourly`

### 7\. Update Frequency

Used in combination with Update Period, this is the interval expressed as an integer. Combining the two default values results in 1 hour. A suggestion for how often the page is requested.

default: `1`

### 8\. Category

Optional string value for a category to describe the RSS feed.

default: `no category`

### 9\. Logo URL

Optional fully qualified URL of an image to use as the logo for the RSS feed.

default: `no logo`

## Item Configuration

### 1\. Title

Arc XP Native Specification (ANS) field(s) to use for the article headline, supports a JMESPath statement.

default: `headlines.basic`

### 2\. Description

ANS field(s) to use for the article description, supports a JMESPath statement.

default: `description.basic`

### 3\. Publication Date

ANS date field to display.

Select one: `created_date`, `display_date`, `first_publish_date`, `last_updated_date`, or `publish_date`.

default:`display_date`

### 4\. ANS credits key

ANS field to use for the article credits `<dc:creator>`, supports a JMESPath statement. Multiple authors will be joined with a comma.

default: `credits.by[].name`

### 5\. Category

Optional ANS field(s) to use for the article category, supports a JMESPath statement.

default: `no category`

### 6\. Number of paragraphs to include

Number of paragraphs of the article body to include. Value ranges from 0 to 10, or all.

default: `all`

## Featured Image Configuration

### 1\. Include promo Images

Yes/No should the `promo_items` be added to `media:content`.

default: `true`

### 2\. Path to promo\_items

ANS field to use for the featured image, supports a JMESPath statement.

default: `promo_items.basic || promo_items.lead_art`

### 3\. Image height and or width

A set of key value pairs where you can set an integer height and or width to resize all images. Zero means no resizing will be performed.

default: `height: 0, width: 0`

### 4\. ANS image title key

ANS field for the `promo_items` title.

default: `title`

### 5\. ANS image caption key

ANS field for the `promo_items` caption.

default: `caption`

### 6\. ANS image credits key

ANS field for the `promo_items` credits.

default: `credits.by[].name`

## Video

### Video Encoding

A set of key value pairs to select the video encoding you want to use in the feed. It filters the video streams array using the provided keys and values to choose an encoding.

default: `bitrate: 2000, stream_type: mp4`

## Resolver Configuration

Each feed template needs to have a resolver applied. To [create a resolver](https://dev.arcxp.com/arc-io/developer-docs/setting-up-resolvers-for-outbound-feeds/), you must configure the following fields:

### 1\. Resolver Name

Unique name given to the resolver

### 2\. Resolver Priority

Number to indicate priority order regex will be evaluated in (1 to 100). Lower numbers are evaluated first.

### 3\. Regex Pattern

```regex
^/arc/outboundfeeds/rss/?$|
^/arc/outboundfeeds/rss/category/(.*)/?$|
^/arc/outboundfeeds/rss/author/(.*)/?$|
^/arc/outboundfeeds/rss/keyword/(.*)/?$|
^/arc/outboundfeeds/rss/tags/(.*)/?$|
^/arc/outboundfeeds/rss/tags_slug/(.*)/?$
```

### 4\. URL Parameters

![URL Parameters](https://dev.arcxp.com/_astro/KB0010290-1.D3GS9Xkc_Z1hOlOU.webp)

### 5\. Websites

all

### 6\. Content Source

feeds-content-api

There are also two optional content sources available out-of-the-box. See [Content sources with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/content-sources-with-outbound-feeds/) for more information.

### 7\. Patterns

These positions come from the regex pattern. There are a number of ways to pass a section (or author, keyword or tag) to the content source from the resolver. All of them use a grouping () in the regex.

**Section** \- Pattern 1

```regex
^/arc/outboundfeeds/rss/?$|
^/arc/outboundfeeds/rss/category/(.*)/?$|
^/arc/outboundfeeds/rss/author/(.*)/?$|
^/arc/outboundfeeds/rss/keyword/(.*)/?$|
^/arc/outboundfeeds/rss/tags/(.*)/?$|
^/arc/outboundfeeds/rss/tags_slug/(.*)/?$
```

**Author** \- Pattern 2

```regex
^/arc/outboundfeeds/rss/?$|
^/arc/outboundfeeds/rss/category/(.*)/?$|
^/arc/outboundfeeds/rss/author/(.*)/?$|
^/arc/outboundfeeds/rss/keyword/(.*)/?$|
^/arc/outboundfeeds/rss/tags/(.*)/?$|
^/arc/outboundfeeds/rss/tags_slug/(.*)/?$
```

**Keywords** \- Pattern 3

```regex
^/arc/outboundfeeds/rss/?$|
^/arc/outboundfeeds/rss/category/(.*)/?$|
^/arc/outboundfeeds/rss/author/(.*)/?$|
^/arc/outboundfeeds/rss/keyword/(.*)/?$|
^/arc/outboundfeeds/rss/tags/(.*)/?$|
^/arc/outboundfeeds/rss/tags_slug/(.*)/?$
```

**Tags - Text** \- Pattern 4

```regex
^/arc/outboundfeeds/rss/?$|
^/arc/outboundfeeds/rss/category/(.*)/?$|
^/arc/outboundfeeds/rss/author/(.*)/?$|
^/arc/outboundfeeds/rss/keyword/(.*)/?$|
^/arc/outboundfeeds/rss/tags/(.*)/?$|
^/arc/outboundfeeds/rss/tags_slug/(.*)/?$
```

**Tags - Slug** \- Pattern 5

```regex
^/arc/outboundfeeds/rss/?$|
^/arc/outboundfeeds/rss/category/(.*)/?$|
^/arc/outboundfeeds/rss/author/(.*)/?$|
^/arc/outboundfeeds/rss/keyword/(.*)/?$|
^/arc/outboundfeeds/rss/tags/(.*)/?$|
^/arc/outboundfeeds/rss/tags_slug/(.*)/?$
```

**Include - Terms**

If you don’t want to use the default query you can enter a query here. It must be an array formatted like:

```
[{“term”:{“type”: “story”}},{“range”:{“last_updated_date:{“gte”:“now-2d”,“lte”:“now”}}}]
```

For more details on custom queries, see [How to create a custom query with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/how-to-create-a-custom-query-with-outbound-feeds/).

**Exclude - Terms**

If you need to exclude terms in your query, i.e. `NOT`, enter them here as an array formatted the same as the Include-Terms. For example to exclude all content with language “es” you would use `[{“term”:{“language”: “es”}}]`. For more details on custom queries, see [How to create a custom query with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/how-to-create-a-custom-query-with-outbound-feeds/).

**Exclude - Sections**

You can enter a comma separated list of sections to exclude. For example `/premium,/paid-content`.

**Feed - Size**

Integer 1 to 100\. Defaults to `100`. If you added a size URL parameter, select the parameter option and select size and enter a default value.

**Feed - Offset**

Integer. Defaults to 0\. If you added a from URL parameter, select the parameter option and select from and enter a default value.

**Sort -** `publish_date:desc`

If left blank it will default to `publish_date:desc`. Which ever date field you selected to display for the Publication Date is the date you should enter here. The format is **date\_field + “:” + sort order** (desc or asc). Valid date fields are `created_date`, `display_date`, `first_publish_date`, `last_updated_date`, or `publish_date`.

**Source-Exclude**

Comma separated list of ANS fields to exclude from the response. The content sources use the `_sourceIncludes` parameter to reduce the response size. They start with the following [list of fields](https://dev.arcxp.com/arc-io/developer-docs/content-sources-with-outbound-feeds/#included-data), you can exclude fields from that list by adding them here.

**Source-Include**

Comma separated list of ANS fields to include in the response. The content sources use the `_sourceIncludes` parameter to reduce the response size. They start with the following [list of fields](https://dev.arcxp.com/arc-io/developer-docs/content-sources-with-outbound-feeds/#included-data), you can add fields to that list by adding them here.

**Include - Distributor - Name**

If you only want content from a single distributor, enter the name here. You may only populate one distributor field.

**Exclude - Distributor - Name**

If you want to exclude content from a single distributor, enter the name here. You may only populate one distributor field.

**Include - Distributor - Category**

If you only want content from a single distributor category, enter the name here. You may only populate one distributor field.

**Exclude - Distributor - Category**

If you want to exclude content from a single distributor category, enter the name here. You may only populate one distributor field.

### 8\. Default Template

Select the rss-feed template to apply resolver.

### 9\. Default output type

Select `xml`

### 10\. Content Mapped Template

blank

### RSS URL

To preview your RSS XML, modify the URL below with your client org and website name.

```
https://outboundfeeds.{CLIENTORG}.arcpublishing.com/pf/arc/outboundfeeds/rss/?_website={CLIENTWEBSITE}
```

![XML URL](https://dev.arcxp.com/_astro/RSSxmlurl.C-DnDqV0_2psEId.webp)

## Additional Information

- [How to set up and configure an Outbound Feed](https://dev.arcxp.com/arc-io/developer-docs/how-to-set-up-and-configure-an-outbound-feed/)
- [Content sources with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/content-sources-with-outbound-feeds/)
- [How to use Jmespath to map to custom fields ANS values in Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/how-to-use-jmespath-to-map-to-customfields-ans-values-in-outbound-feeds/)
- [Setting up resolvers for Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/setting-up-resolvers-for-outbound-feeds/)
- [Regex Debugger](https://regex101.com/)
