Platform v2.54
July 18th, 2018 by John Clark
Platform now includes the following changes:
- We've redesigned many of our Incentive and Loyalty Lightning Components for Community Cloud.
- We've added a new Lightning Component called My Profile.
- We've added a Member export tool for the purposes of GDPR compliance.
- We've removed some unnecessary date fields from the models for Promotion, Challenge and Mission.
- We've added a new Mission Rewarding table to support cumulative rewarding.
- We've added instructions on uploading Reward Items for Rewards controlled by item.
- You can now edit certain fields in Challenge, Mission and Challenge Reward even when a Challenge is active and has Mission Members.
- We've added native photo upload support for Badges, Programs, Rewards, Levels and Promotions.
- We've extended Page Settings functionality for Libraries.
- We've made various bug fixes.
How to Upgrade
Before StartingBefore upgrading, be sure you've followed the instructions outlined in this blog for every new version up to and including v2.53.
The instructions below assume you are upgrading from Platform v2.53.
To upgrade from Platform v2.53, follow these steps:
- Install the Platform v2.54 package in your Salesforce org.
- In the Libraries tab of Platform, upgrade the FieloPLT library to v3.007.
- Clear out unnecessary KPI test records by running the following script on the Salesforce Developer Console:
Set<String> externalIds = new Set<String>{'00D50000000WsHF-a0i5000000Cv44p','00D50000000WsHF-a0i5000000Cv45T','00D50000000WsHF-a0i5000000Cv45Y'};
delete [SELECT Id FROM FieloPLT__KPI__c WHERE FieloPLT__ExternalId__c IN: externalIds];- Also on the Developer Console, run the following script to enable the Page Settings for the new Photo Upload section in Levels and Rewards:
Set<String> externalIds = new Set<String>();
externalIds.add('FieloPLTPageSettingsLevelDetailImage');
externalIds.add('FieloPLTPageSettingsRewardDetailImage');
List<FieloPLT__PageSettings__c> pageSettings = [SELECT Id, FieloPLT__IsActive__c FROM FieloPLT__PageSettings__c WHERE FieloPLT__ExternalId__c IN: externalIds AND FieloPLT__IsActive__c = false];
for(FieloPLT__PageSettings__c ps: pageSettings){
ps.FieloPLT__IsActive__c = true;
}
update pageSettings; - Finally, on the Developer Console, run the following script to prepare your Missions for the new cumulative rewarding table:
//Update Configuration Summary field in Mission
Set<Id> missionIds = new Set<Id>();
//Look for Missions with an empty ConfigurationSummary field
for(FieloPLT__Mission__c m : [SELECT Id, FieloPLT__ConfigurationSummary__c FROM FieloPLT__Mission__c]){
if( m.FieloPLT__ConfigurationSummary__c == null ){
missionIds.add(m.Id);
}
}
//Check all Challenge Rewards for if they use multiple Point Types
SObjectType challengeRewardObj = Schema.getGlobalDescribe().get('FieloPLT__ChallengeReward__c');
List<String> fieldList = new List<String>{'Id','Name'};
for(String s : challengeRewardObj.getDescribe().fields.getMap().keyset()){
if( s.contains('__c') ){
fieldList.add(s);
}
}
String query = 'SELECT Id, FieloPLT__ConfigurationSummary__c ,(SELECT '+String.join(fieldList,',') +' FROM FieloPLT__ChallengeRewards__r ORDER BY FieloPLT__Position__c), (SELECT Id, FieloPLT__Mission__c, FieloPLT__Operator__c, FieloPLT__Order__c, FieloPLT__FieldType__c, FieloPLT__FieldName__c, FieloPLT__DateValue__c, FieloPLT__BooleanValue__c, FieloPLT__IsField__c FROM FieloPLT__MissionCriteria__r ORDER BY FieloPLT__Order__c) FROM FieloPLT__Mission__c WHERE Id In: missionIds';
List<FieloPLT__Mission__c> missions = Database.query(query);
for (FieloPLT__Mission__c m : missions) {
Map<String, List<SObject>> configuration = new Map<String, List<SObject>>();
Boolean addJSON = false;
if( m.FieloPLT__ChallengeRewards__r.size() > 0){
addJSON = true;
configuration.put('rewarding', new List<SObject>( (List<SObject>)m.FieloPLT__ChallengeRewards__r) );
}
if( m.FieloPLT__MissionCriteria__r.size() > 0){
addJSON = true;
configuration.put('criterias', new List<SObject>( (List<SObject>)m.FieloPLT__MissionCriteria__r) );
}
if( addJSON ){
m.FieloPLT__ConfigurationSummary__c = JSON.serialize(configuration);
}
}
update missions;Changelog
- improved: Lightning Components: Catalog, Shopping Cart, Checkout, My Redemptions (FL-5287)
- improved: Lightning Component: My Transactions (FL-5362)
- improved: Lightning Component: Member Selector (FL-5363)
- improved: Lightning Component: Registration (FL-5364)
- improved: Lightning Component: Program Promotions (FL-5365)
- improved: Lightning Component: Join Program (FL-5366)
- added: Lightning Component: My Profile (FL-5367)
- added: GDPR Data Portability Tool (Member Export) (FL-5407)
- improved: Models for Promotion, Challenge and Mission (FL-5432)
- added: Cumulative rewarding table for Missions (FL-4974)
- improved: Reward Item upload modal (FL-5276)
- improved: Redemption terminology (FL-5277)
- added: Editting of active Challenges and Missions (FL-5308)
- added: Native photo upload support for Badges, Programs, Rewards, Levels and Promotions (FL-5322)
- fixed: Member view page bug (FL-5350)
- improved: Extended Page Settings functionality for Libraries (FL-5416)
- fixed: Page Settings redirection error (FL-5422)
- fixed: KPI picklist values (FL-5419)
