Content types
Promo
Reference: the Promo block, a promotional item with a heading, text, links and an optional video, image or article.
Overview
- Name: Promo
- Type: Block
- Purpose: A promotional item with a heading, text, links and an optional promoted video, image or article. It is used in promo lists and grids, sponsor placements and the parallax and hero widgets.
- Examples: None
- Legacy functional requirements: None
- Legacy configuration instructions: None
Content model
Properties
| Group | Name | Description | Data type | Required | Select Many | Limits | Allowed Values | Default Value | Example | Comments |
|---|---|---|---|---|---|---|---|---|---|---|
| General | Title | The heading of the promo. | String | False | False | Download the AFL app | Legacy: title (text). Used as the promo heading, the image alt and tracking title, and in lists and sponsor promos. | |||
| General | Description | Text shown under the heading. | String | False | False | Live scores, news and video in one place. | Legacy: description (text). Shown under the title in promo, parallax and sponsor templates. | |||
| General | Links | The buttons or links shown on the promo. The first is the main call to action. | Array (Link) | False | True | Download now | Legacy: links (list; each has destination, button text and an opens-in-new-tab setting). The first link is the main call to action; some templates also use the second. The button text and new tab setting are part of each link. | |||
| General | Promoted Item | The video, image or article this promo promotes. | Content Reference (Video, Image, Article) | False | False | Grand Final highlights video | Legacy: promoItem (contentReference, allowed types Video, Photo and Text). Supplies the image, whether the promo plays a video, the on-demand image address, ID and title for the promo. | |||
| General | Lead Media | The image or video shown when no promoted item is set. | Content Reference (Image, Video) | False | False | Promo banner photo | Legacy: leadMedia (contentReference). Used as the promo image when no promoted item is set. Allowed types TBC. | |||
| General | Logo | The logo image shown for a sponsor promo. | Content Reference (Image) | False | False | Sponsor logo | Legacy: item (contentReference, allowed type Photo). Used as the logo or image of a sponsor promo when it is a photo. | |||
| General | Related Images | Images related to the promo; the first is used as the background image. | Array (Content Reference (Image)) | False | True | Background photo | Legacy: related (contentReference, allowed type Photo). The first photo is used as the promo background image. | |||
| General | Brightcove ID | The video ID that opens the promo in the video player. | String | False | False | 6123456789012 | Legacy: Brightcove_ID (text). When set, the promo button opens the video in the modal player. | |||
| General | Is Premium | Marks the promo content as premium. | Boolean | False | False | False | False | Legacy: Is_Premium (checkbox). When true the player passes the premium flag and content ID. | ||
| General | Price | The price text shown on the promo list item. | String | False | False | $9.99 | Legacy: price (text). Shown on the promo list item. | |||
| General | Regulated Content Types | The regulated content the promo sponsor belongs to, so it can be hidden where required. | String | False | True | Betting, Alcohol | Betting | Legacy: tags 'sponsor:betting' and 'sponsor:alcohol'. Tags replaced by this field. The legacy tags apply the betting visibility and over 18 visibility classes. | ||
| General | Sponsor Type | Whether the promo is the content sponsor or the official sponsor of content that uses it. | String | False | False | Official Sponsor, Content Sponsor | Official Sponsor | Legacy: tags 'official-sponsor' and 'content-sponsor'. Tags replaced by this field. A content sponsor takes priority over the official sponsor in the header of the content that uses the promo. | ||
| References | Images | The images linked to the promo. | Array (Content Reference (Image)) | False | True | Image example | Legacy: references (contentReference), PHOTO references. Usage count 234 (actual) and 2 code files. The club app promo shows each image as a watermark and the Large Content Promo uses the first as its logo. Allowed type TBC. | |||
| References | Teams | The teams linked to the promo. | Array (Content Reference (Team)) | False | True | Team example | Legacy: references (contentReference), AFL_TEAM references. Usage count 56 (actual) and 1 code file. The promo grid uses the team to filter promos. Allowed type TBC. | |||
| References | Videos | The videos linked to the promo. | Array (Content Reference (Video)) | False | True | Video example | Legacy: references (contentReference), VIDEO references. Code usage only (1 file). The Large Content Promo takes its logo image from a video thumbnail. Allowed type TBC. | |||
| References | Articles | The articles linked to the promo. | Array (Content Reference (Article)) | False | True | Article example | Legacy: references (contentReference), TEXT references. Code usage only (1 file). The Large Content Promo takes its logo image from an article lead media. Allowed type TBC. | |||
| References | Playlists | The playlists linked to the promo. | Array (Content Reference (Playlist)) | False | True | Playlist example | Legacy: references (contentReference), PLAYLIST references. Code usage only (1 file). The Large Content Promo takes its logo image from a playlist cover item. Allowed type TBC. | |||
| References | Promos | The promos linked to the promo. | Array (Content Reference (Promo)) | False | True | Promo example | Legacy: references (contentReference), PROMO references. Code usage only (1 file). The Large Content Promo takes its logo image from a promo promoted item. Allowed type TBC. | |||
| Migration | Legacy ID | The ID of this promo in the legacy system. | String | False | False | 123456 |
Implementation differences
Retired content types
No retired content types.
Retired attributes
| Name | Comments |
|---|---|
| tags | All legacy tags are functional and have been replaced by dedicated properties (Regulated Content Types, Sponsor Type). |
| references | Replaced by new properties: Images, Teams, Videos, Articles, Playlists, Promos. |
| id | Migrated to the Legacy ID property. |
Content migration
Extraction rules
| Step # | Source Type | Filters | Comments |
|---|---|---|---|
| 1 | PHOTO | type = PHOTO | Referenced by references, promoItem, item, related and leadMedia. Dependent type: extract it before the promos. Endpoint and account are TBC. |
| 2 | AFL_TEAM | type = AFL_TEAM | Referenced by references. Team IDs differ between legacy environments; use production values. Dependent type: extract it before the promos. Endpoint and account are TBC. |
| 3 | VIDEO | type = VIDEO | Referenced by references, promoItem and leadMedia. Dependent type: extract it before the promos. Endpoint and account are TBC. |
| 4 | TEXT | type = TEXT | Referenced by references and promoItem. Dependent type: extract it before the promos. Endpoint and account are TBC. |
| 5 | PLAYLIST | type = PLAYLIST | Referenced by references. Dependent type: extract it before the promos. Endpoint and account are TBC. |
| 6 | PROMO | type = PROMO, Status = published | Promos can reference other promos, so the referenced promos are extracted in this same step. Endpoint, account and the field that identifies a promo record are TBC; confirm them against the legacy data. |
Transformation rules
| New Property Name | Legacy Property Name | Transformation Rules | Comments |
|---|---|---|---|
| Title | title | Trim whitespace. | Legacy title is optional (text). It is the promo heading and is used as the image alt and tracking title. |
| Description | description | Trim whitespace. | Legacy description is plain text. |
| Links | links | Apply no type filter. Map each links entry to a Link: promoUrl to URL, linkText to Text. Set Open in new tab when external is true. Keep the order. | Legacy links is a contentReference list. Each entry has promoUrl, linkText and external. The first link is the primary button and the second is used by some templates. |
| Promoted Item | promoItem | Filter promoItem to types VIDEO, PHOTO and TEXT. Resolve the reference by Legacy ID to the migrated Video, Image or Article. | Supplies the image, media type, ID and title for the promo. Resolve by Legacy ID after the target content has been migrated. |
| Lead Media | leadMedia | Apply no type filter to leadMedia. Resolve the reference by Legacy ID to the migrated Image or Video. | Used as the promo image when no promoted item is set. The legacy attribute has no allowed types listed. |
| Logo | item | Filter item to type PHOTO. Resolve the reference by Legacy ID to the migrated Image. | Legacy item is the image item for a sponsor promo and is used as the logo when it is type PHOTO. |
| Related Images | related | Filter related to type PHOTO. Resolve each reference by Legacy ID to the migrated Image. Keep the order. | The first reference of type PHOTO in related is used as the promo background image, so keep the order. |
| Brightcove ID | Brightcove_ID | Trim whitespace. Copy Brightcove_ID as a string. | When set, the promo button opens the video in the modal player. |
| Is Premium | Is_Premium | Convert Is_Premium to True or False. Default False when missing. | Legacy Is_Premium is a checkbox. When true the player passes the premium flag and content ID. |
| Price | price | Trim whitespace. | Legacy price is text shown on the promo list item. |
| Regulated Content Types | tags | Filter tags to sponsor:*. Take the text after sponsor:, normalise case to the option (Betting or Alcohol), and add it to the property. Remove the tag from tags. | Legacy tags sponsor:betting and sponsor:alcohol (usage counts 234 and 321). The tags are removed after migration. |
| Sponsor Type | tags | Filter tags to official-sponsor and content-sponsor. Set Content Sponsor when content-sponsor is present, otherwise Official Sponsor when official-sponsor is present. Content Sponsor wins when both are present. | Legacy tags official-sponsor (usage count 6234) and content-sponsor (usage count 234). The tags are removed after migration. |
| Images | references | Filter references to type PHOTO. Resolve each reference by Legacy ID to the migrated Image. Keep the order. | Reference type PHOTO. Usage count 234 (actual usage). |
| Teams | references | Filter references to type AFL_TEAM. Map each AFL_TEAM reference to the migrated Team by team ID. Keep the order. | Reference type AFL_TEAM. Usage count 56 (actual usage). Team IDs differ between legacy environments; use production values. |
| Videos | references | Filter references to type VIDEO. Resolve each reference by Legacy ID to the migrated Video. Keep the order. | Code usage only. Used by the Large Content Promo for the logo image. Reference type VIDEO. |
| Articles | references | Filter references to type TEXT. Resolve each reference by Legacy ID to the migrated Article. Keep the order. | Code usage only. Used by the Large Content Promo for the logo image. Reference type TEXT. |
| Playlists | references | Filter references to type PLAYLIST. Resolve each reference by Legacy ID to the migrated Playlist. Keep the order. | Code usage only. Used by the Large Content Promo for the logo image. Reference type PLAYLIST. |
| Promos | references | Filter references to type PROMO. Resolve each reference by Legacy ID to the migrated Promo. Keep the order. | Code usage only. Reference type PROMO. Load after all promos exist so the references resolve. |
| Legacy ID | id | Copy id as a string. | The promo is a CMS content record, so Legacy ID comes from id, not anchorName. |
Loading rules
| Step # | Destination Type | Description | Comments |
|---|---|---|---|
| 1 | Image | Load the extracted PHOTO records into the new system as Image records. | Dependent type: load it before the promos. |
| 2 | Team | Load the extracted AFL_TEAM records into the new system as Team records. | Dependent type: load it before the promos. |
| 3 | Video | Load the extracted VIDEO records into the new system as Video records. | Dependent type: load it before the promos. |
| 4 | Article | Load the extracted TEXT records into the new system as Article records. | Dependent type: load it before the promos. |
| 5 | Playlist | Load the extracted PLAYLIST records into the new system as Playlist records. | Dependent type: load it before the promos. |
| 6 | Promo | Load the extracted PROMO records into the new system as Promo records. | Load the promos after every dependent type so the Images, Teams, Videos, Articles and Playlists references resolve. Promos can reference other promos, so set the Promos references after all promos have been loaded. |
Validation rules
Coming soon...