AFL
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

GroupNameDescriptionData typeRequiredSelect ManyLimitsAllowed ValuesDefault ValueExampleComments
GeneralTitleThe heading of the promo.StringFalseFalseDownload the AFL appLegacy: title (text). Used as the promo heading, the image alt and tracking title, and in lists and sponsor promos.
GeneralDescriptionText shown under the heading.StringFalseFalseLive scores, news and video in one place.Legacy: description (text). Shown under the title in promo, parallax and sponsor templates.
GeneralLinksThe buttons or links shown on the promo. The first is the main call to action.Array (Link)FalseTrueDownload nowLegacy: 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.
GeneralPromoted ItemThe video, image or article this promo promotes.Content Reference (Video, Image, Article)FalseFalseGrand Final highlights videoLegacy: 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.
GeneralLead MediaThe image or video shown when no promoted item is set.Content Reference (Image, Video)FalseFalsePromo banner photoLegacy: leadMedia (contentReference). Used as the promo image when no promoted item is set. Allowed types TBC.
GeneralLogoThe logo image shown for a sponsor promo.Content Reference (Image)FalseFalseSponsor logoLegacy: item (contentReference, allowed type Photo). Used as the logo or image of a sponsor promo when it is a photo.
GeneralRelated ImagesImages related to the promo; the first is used as the background image.Array (Content Reference (Image))FalseTrueBackground photoLegacy: related (contentReference, allowed type Photo). The first photo is used as the promo background image.
GeneralBrightcove IDThe video ID that opens the promo in the video player.StringFalseFalse6123456789012Legacy: Brightcove_ID (text). When set, the promo button opens the video in the modal player.
GeneralIs PremiumMarks the promo content as premium.BooleanFalseFalseFalseFalseLegacy: Is_Premium (checkbox). When true the player passes the premium flag and content ID.
GeneralPriceThe price text shown on the promo list item.StringFalseFalse$9.99Legacy: price (text). Shown on the promo list item.
GeneralRegulated Content TypesThe regulated content the promo sponsor belongs to, so it can be hidden where required.StringFalseTrueBetting, AlcoholBettingLegacy: tags 'sponsor:betting' and 'sponsor:alcohol'. Tags replaced by this field. The legacy tags apply the betting visibility and over 18 visibility classes.
GeneralSponsor TypeWhether the promo is the content sponsor or the official sponsor of content that uses it.StringFalseFalseOfficial Sponsor, Content SponsorOfficial SponsorLegacy: 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.
ReferencesImagesThe images linked to the promo.Array (Content Reference (Image))FalseTrueImage exampleLegacy: 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.
ReferencesTeamsThe teams linked to the promo.Array (Content Reference (Team))FalseTrueTeam exampleLegacy: 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.
ReferencesVideosThe videos linked to the promo.Array (Content Reference (Video))FalseTrueVideo exampleLegacy: references (contentReference), VIDEO references. Code usage only (1 file). The Large Content Promo takes its logo image from a video thumbnail. Allowed type TBC.
ReferencesArticlesThe articles linked to the promo.Array (Content Reference (Article))FalseTrueArticle exampleLegacy: 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.
ReferencesPlaylistsThe playlists linked to the promo.Array (Content Reference (Playlist))FalseTruePlaylist exampleLegacy: 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.
ReferencesPromosThe promos linked to the promo.Array (Content Reference (Promo))FalseTruePromo exampleLegacy: 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.
MigrationLegacy IDThe ID of this promo in the legacy system.StringFalseFalse123456

Implementation differences

Retired content types

No retired content types.

Retired attributes

NameComments
tagsAll legacy tags are functional and have been replaced by dedicated properties (Regulated Content Types, Sponsor Type).
referencesReplaced by new properties: Images, Teams, Videos, Articles, Playlists, Promos.
idMigrated to the Legacy ID property.

Content migration

Extraction rules

Step #Source TypeFiltersComments
1PHOTOtype = PHOTOReferenced by references, promoItem, item, related and leadMedia. Dependent type: extract it before the promos. Endpoint and account are TBC.
2AFL_TEAMtype = AFL_TEAMReferenced by references. Team IDs differ between legacy environments; use production values. Dependent type: extract it before the promos. Endpoint and account are TBC.
3VIDEOtype = VIDEOReferenced by references, promoItem and leadMedia. Dependent type: extract it before the promos. Endpoint and account are TBC.
4TEXTtype = TEXTReferenced by references and promoItem. Dependent type: extract it before the promos. Endpoint and account are TBC.
5PLAYLISTtype = PLAYLISTReferenced by references. Dependent type: extract it before the promos. Endpoint and account are TBC.
6PROMOtype = PROMO, Status = publishedPromos 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 NameLegacy Property NameTransformation RulesComments
TitletitleTrim whitespace.Legacy title is optional (text). It is the promo heading and is used as the image alt and tracking title.
DescriptiondescriptionTrim whitespace.Legacy description is plain text.
LinkslinksApply 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 ItempromoItemFilter 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 MedialeadMediaApply 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.
LogoitemFilter 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 ImagesrelatedFilter 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 IDBrightcove_IDTrim whitespace. Copy Brightcove_ID as a string.When set, the promo button opens the video in the modal player.
Is PremiumIs_PremiumConvert 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.
PricepriceTrim whitespace.Legacy price is text shown on the promo list item.
Regulated Content TypestagsFilter 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 TypetagsFilter 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.
ImagesreferencesFilter 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).
TeamsreferencesFilter 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.
VideosreferencesFilter 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.
ArticlesreferencesFilter 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.
PlaylistsreferencesFilter 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.
PromosreferencesFilter 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 IDidCopy id as a string.The promo is a CMS content record, so Legacy ID comes from id, not anchorName.

Loading rules

Step #Destination TypeDescriptionComments
1ImageLoad the extracted PHOTO records into the new system as Image records.Dependent type: load it before the promos.
2TeamLoad the extracted AFL_TEAM records into the new system as Team records.Dependent type: load it before the promos.
3VideoLoad the extracted VIDEO records into the new system as Video records.Dependent type: load it before the promos.
4ArticleLoad the extracted TEXT records into the new system as Article records.Dependent type: load it before the promos.
5PlaylistLoad the extracted PLAYLIST records into the new system as Playlist records.Dependent type: load it before the promos.
6PromoLoad 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...