Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Lighting Component Campaign Items Related List has a couple of default settings defined which a technical administrator can change according to the following documentation. 

...

Replace "Name" with any field API you like to default the sorting to. 

Feature Name

Feature Setting Name

default value

CampaignItemRelatedList

SortByField

Code Block
{"Field":["ADvendio__SortOrder__c"],"Order":"asc"}

Default Columns

Additionally, you can define individual columns for the component. Create new feature setting records in the following way:

Feature Name

Feature Setting Name

default value

CampaignItemRelatedList

TableFields

Code Block
{
   "TableFields":[
      "Name",
      "ADvendio__Period__c",
      "ADvendio__Quantity__c",
      "ADvendio__Sales_Price__c",
      "ADvendio__Billing_category__c",
      "ADvendio__Amount_net3__c",
      "ADvendio__Available__c",
      "ADvendio__PositionNumber__c",
      "ADvendio__PositionNumberAppendix__c"
   ]
}

This entry in JSON format as an array is used to define what fields from the CampaignItem object can be shown into the ResultTable. List API names of Campaign Item fields only. 

...

on your visual force page please create a feature setting with the following values:

Feature Name

Feature Setting Name

Default Filter Value

CampaignItemRelatedList

FilterButtons

Code Block
{
   "Buttons":[
      {
         "title":"Don't Show Cancelled Item",
         "
label
customLabel":
"Don't Show Cancelled Item
"DontShowCanceled",
         "namespaceLabel":"ADvendio",
         "filter":"ADvendio__ConnectedItem__c = null",
         "variant":"neutral",
         "isActive":"false"
      },
      {
         "title":"Don't Show Optimized Item",
         "
label
customLabel":
"Don't Show Optimized Item
"DontShowOptimized",
         "namespaceLabel":"ADvendio",
         "filter":"ADvendio__OptimizationExclusion__c = null",
         "variant":"neutral",
         "isActive":"true"
      }
   ]
}

This entry in JSON format as an array of map objects is used to define the custom filter buttons, where we can define the

  • title: sets the text for the mouse over

  • label: is shown on the button and

  • customLabel: allows you to connect the button to a custom label to show different translations depending on your language

  • define the filter values. You can add multiple using brackets. 

...

To modify the action buttons on the component create or edit the following feature setting: 

Feature Name

Feature Setting Name

Default Filter Value

Feature Setting Name

CampaignItemRelatedList

ActionButtons

Code Block
{
   "Buttons":[
      {
         "title":"Add Items",
         "
label
customLabel":
"Add Items
"AddItemsOptimizerButton",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__SelectSearch?Id=$mcId$",
         "type":"vf"
      },
      {
         "title":"Edit Items",
         "
label
customLabel":"
Edit Items
EditItemsOptimizerButton",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__MediaConfiguration?id=$mcId$&selected=$recordIds$",
         "type":"vf"
      },
      {
         "title":"
Optimize
Change Items",
         "
label
customLabel":"
Optimize Items
ChangeItems",
         "
action
namespaceLabel":"
/apex/
ADvendio
__NavigateToOptimizer?id=$mcId$&selected=$recordIds$
",
         
"type
"componentDefinition":{
            "componentDef":"
vf
ADvendio:campaignBuilderWrapper",
      
},
      
{
"attributes":{
               "
title
mode":"
Delete Items
edititems",
               "
label
recordId":"
Delete Items
$mcId$",
               "
action
campaignItemIds":"
/apex/ADvendio__DeleteCampaignItems?id=$mcId$&selectedIds=$recordIds$"
$recordIds$"
            }
         },
         "type":"
vf
lwc"
      },
      {
         "title":"
Sort
Optimize Items",
         "
label
customLabel":"
Sort Items
OptimizeItems",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__
SortCampaignItems
NavigateToOptimizer?
Id
id=$mcId$&selected=$recordIds$",
         "type":"vf"
      },
      {
         "title":"
Show
Delete 
Recommendations
Items",
         "
label
customLabel":
"Show Recommendations
"DeleteItems",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__
ProductRecomm
DeleteCampaignItems?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"
Check
Sort 
Availability
Items",
         "
label
customLabel":
"Check Availability
"SortCampaignItems",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__
CheckAvailabilityCi
SortCampaignItems?
id
Id=$mcId$
&selectedIds=$recordIds$
",
         "type":"vf"
      },
      {
         "title":"
Submit
Check 
to AdServer
Availability",
         "
label
customLabel":
"Submit to AdServer
"CheckAvailability",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__
SubmitToAdServer
CheckAvailabilityCi?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"
Creative
Submit to 
Upload
AdServer",
         "
label
customLabel":
"Creative Upload
"SubmitToAdServer",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__
CreativeUploadCi
SubmitToAdServer?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Update Ad-Status in AdServer",
         "
label
customLabel":
"Update Ad-Status in AdServer
"UpdateAdServerStatus",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__UpdateAdServerAdStatus?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      },
      {
         "title":"Get Delivered Clicks/Impressions",
         "
label
customLabel":"
Get Delivered Clicks/Impressions
DeliveredClicksImpressions",
         "namespaceLabel":"ADvendio",
         "action":"/apex/ADvendio__DeliveredClicksAndImpressionsImport?id=$mcId$&selectedIds=$recordIds$",
         "type":"vf"
      }
   ]
}

This entry in JSON format as an array of map objects is used to define the default action buttons, where we can define the

  • title,

  • label and

  • customLabel (to show different translations depending on your language)

  • action values.

The parameters must be defined as $mcid$ for the Media Campaign Id value and $recordIds$ for the selected items to use according the button choice. Currently ADvendio offers 12 buttons the same as the Salesforce Campaign Item default feature.

Create Custom Button for a Visualforce Page or LWC

To add a button to a Visualforce page, follow these steps:

  1. For Visualforce Pages:

    1. Create your Visualforce Page with an Apex Controller and add it to the Feature Setting as described below. Replace “vfExamplePage“ with the name you applied for the page:

    2. Add Button to Campaign Items:

      1. Go to Feature Setting (ActionButtons → CampaignItemRelatedList) and edit it.

      2. Add the value below: (info) You can change “title” and “label” based on your needs:

        Code Block
        {
         "title": "Example Page",
         "label": "Example VF",
         "action": "/apex/vfExamplePage?hello=$recordIds$",
         "type": "vf"
        }
  2. Create your LWC and add it to the Feature Setting as described below. Replace “lwcExample“ with the name you applied for the page:

    1. Add Button to Campaign Items:

      • Go to Feature Setting (ActionButtons → CampaignItemRelatedList) and edit it.

      • Add the value below: (info) You can change “title” and “label” based on your needs:

        Code Block
        {
         "title": "Example LWC",
         "label": "Example LWC",
         "componentDefinition": {
                "componentDef": "c:lwcExample",
                "attributes": {
                  "name": "$recordIds$"
                }
              },
         "type": "lwc"
        }
Info

For both versions you must add the parameters defined as $mcid$ for the Media Campaign Id value and $recordIds$ for the selected items to use according the button choice. Keep in mind that when $recordIds$ has multiple values, this values will be comma separated.

As for $smallView$ and $counter$, those are optional parameters.

  • $smallView$ is a boolean that returns true if the CIRL was in small view when clicking an action button, and false otherwise

  • $counter$ returns an integer with the amount of rows selected

Now, the button should appear on the Campaign Items related list.

Captura de pantalla 2023-06-20 a la(s) 08.48.06.pngImage Added