SlideShare a Scribd company logo
Taking Apex and Visualforce Above 
and Beyond 
Jay Jayakumaran 
Yahoo! Inc. 
Senior Developer
Jay Jayakumaran 
Senior Developer
Agenda 
– Building synchronous data loader using Apex and Visualforce 
– Bulk edit using Apex and Visualforce 
– Grand Children Design Pattern 
– Building custom field track history using Apex and Visualforce
Building Synchronous data loader 
using Apex and Visualforce
Building synchronous data loader using Apex and 
Visualforce 
• Why? 
– Give Standard Users insert, update, and deletion rights without extending them Admin rights 
such as API 
or Modify All Data. 
– Existing desktop based tools require user training or users to rely on the admin for all data 
loads. 
– The functionality is not available out of the box 
https://success.salesforce.com/ideaview?id=08730000000Bre6AAC 
• What has Yahoo! done? 
–We have customized Data import tools to bulk insert/update 10,000 records in real time 
synchronously.
Highlights of the Visualforce data loader 
 Step by step wizard process for Data import 
 A Standard help template for the sObject to load the data 
 UI Preview of the csv to be imported/updated 
 Customized data import logic which parses a generic csv file and inserts Parent, Children, and 
Grandchildren in one single transaction 
 Advanced success and error records display with RollBack or finish options 
 Sending success and error records as csv files to email 
 Code can be reused if necessary by other teams with minimal changes
Visualforce data loader – Screen shots 
STEP 1: Choose file 
STEP 2: 
Preview file 
STEP 3: View Success 
and Error records with 
Rollback/Finish
Inserting Parent, Children, and Grand Children in one single 
transaction 
Data Import tool 
(VF Page & Apex class) 
Template sObject 
csv 
Parent sObject 
Create Success 
and error files; and 
send email 
Child sObject Grand Children sObject
Update/Delete Operation 
sObject 
csv 
Data Import tool (Identifies records using 
record name) 
Create Success and error files; and 
send email
Code walkthrough 
 Convert csv blob to String 
 Use DescribeFieldResult to get the API names of the field labels 
 Parse the String to form a collection of sObjects 
 Use Database methods to do insert or update so that we can handle success and 
error records
Demo - Building Synchronous data 
loader using Apex and Visualforce
Bulk Edit using Apex and 
Visualforce
Bulk Edit using Apex and Visualforce 
 Why ? 
 Out of the Box list views in salesforce provides bulk edit in UI 
 Users have to create first list view of their choice or clone list views 
 User training required on how to customize list views and filter 
 Highlights 
 Visualforce page for bulk edit 
 Real time filters and display of records meeting the criteria 
 Has all the features of the standard bulk edit 
 Error handling (Triggers and validation rules)
Demo - Bulk Edit using Apex and Visualforce
Grandchildren UI pattern
Grandchildren Pattern (User Navigation) 
– In Standard SFDC, drilling down on the Grand Children records from the parent record requires 3 pages. 
– Accommodate the CRUD of children and Grand Children records in just one page 
– Used generally in the Parent record Detail/View page 
– Achieved through Radio Button related lists or Expand Collapse pattern 
– DEMO 
Parent 
Child 
Grand Child
Custom Field Track History
Field Track History using Apex and Visualforce 
Salesforce.com Field Track History limitations 
 Can track only 20 fields per sObject (need to contact SFDC support to increase) 
 Cannot record the value changes on MultiSelect Picklist and long text area fields 
 Cannot do data migration on Standard History tables 
 (We have to create custom history tables; data migrate legacy audit trail into custom 
history tables; Combine both the standard history data and custom history data into one 
List on UI).
Field Track History using Apex and Visualforce – Cont. 
 Create after insert, after update triggers on sObject 
 Track the value changes using Trigger.old and Trigger.New 
 Insert the history records into custom history tables 
Sample code: 
// Save ContentLicense History for Multi-select picklist fields 
//writing such code for every field on each sObject is not efficient and is repetitive consuming code lines 
if(Trigger.isUpdate) { 
List<ContentLicenseLegacyHistory__c> rhInsList = new List<ContentLicenseLegacyHistory__c> (); 
for (ContentLicense__c rOld : Trigger.old) { 
ContentLicense__c rNew = Trigger.newMap.get(rOld.Id) 
if (rOld.Device__c != rNew.Device__c) { 
rhinsList.add(new ContentLicenseLegacyHistory__c(parentid__c = rOld.id,field__c = 'Device__c',oldValue__c = rOld.Device__c, newValue__c = 
rNew.Device__c, CreatedDate__c = rNew.LastModifiedDate, CreatedById__c = rNew.CreatedById)); 
} 
if (rOld.UserGeo__c != rNew.UserGeo__c) { 
rhinsList.add(new ContentLicenseLegacyHistory__c(parentid__c = rOld.id,field__c = 'UserGeo__c',oldValue__c = rOld.UserGeo__c, newValue__c 
= rNew.UserGeo__c, CreatedDate__c = rNew.LastModifiedDate, CreatedById__c = rNew.CreatedById)); 
} 
insert rhInsList;
Custom Field Track history - architecture 
App. User Interface: (Visualforce, JavaScript, CSS, Apex class, and Config Tables) 
Trigger and Generic Apex class framework: (Apex Trigger, Apex class, and Custom History tables) 
Generic History UI Component ( Visualforce, Apex class) 
Config Tables to 
store the sObject 
names and its fields 
to be tracked 
GUI config for sObject and 
fields to be tracked 
Apex Trigger 
framework (after 
insert, update) 
Generic Apex class Framework 
createHistory(sObjectName, 
FieldName, OldObjectCopy, 
newObjectCopy) 
History 
records 
Insert field track history 
records with field old and 
new values into custom 
history tables 
Generic UI Component 
Loads the history records 
into standard pagelayouts 
or sObject Visualforce 
Pages
Q&A
Taking Apex and Visualforce Above and Beyond

More Related Content

What's hot (19)

PPSX
11 asp.net session16
Vivek Singh Chandel
 
PPT
jQuery and AJAX with Rails
Alan Hecht
 
PPT
RichControl in Asp.net
Bhumivaghasiya
 
PPTX
SharePoint 2010 Client-side Object Model
Phil Wicklund
 
PPTX
05.SharePointCSOM
EaswariSP
 
PDF
Adf performance tuning tips slideshare
Vinay Kumar
 
PPTX
Data Access Options in SharePoint 2010
Rob Windsor
 
PPTX
ADF - Layout Managers and Skinning
George Estebe
 
PDF
RubyOnRails-Cheatsheet-BlaineKendall
tutorialsruby
 
PPTX
SharePoint Conference 2018 - APIs, APIs everywhere!
Sébastien Levert
 
PDF
Introduction to App Engine Development
Ron Reiter
 
PPTX
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
SharePoint Saturday NY
 
PPT
Designing well known websites with ADF Rich Faces
maikorocha
 
PPTX
APIs, APIs Everywhere!
BIWUG
 
DOCX
How to convert custom plsql to web services-Soap OR Rest
shravan kumar chelika
 
PDF
How to build integrated, professional enterprise-grade cross-platform mobile ...
Appear
 
PDF
BDD in practice based on an open source project
Łukasz Chruściel
 
PPTX
Asp PPT (.NET )
Ankit Gupta
 
PPTX
Advanced SharePoint Web Part Development
Rob Windsor
 
11 asp.net session16
Vivek Singh Chandel
 
jQuery and AJAX with Rails
Alan Hecht
 
RichControl in Asp.net
Bhumivaghasiya
 
SharePoint 2010 Client-side Object Model
Phil Wicklund
 
05.SharePointCSOM
EaswariSP
 
Adf performance tuning tips slideshare
Vinay Kumar
 
Data Access Options in SharePoint 2010
Rob Windsor
 
ADF - Layout Managers and Skinning
George Estebe
 
RubyOnRails-Cheatsheet-BlaineKendall
tutorialsruby
 
SharePoint Conference 2018 - APIs, APIs everywhere!
Sébastien Levert
 
Introduction to App Engine Development
Ron Reiter
 
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
SharePoint Saturday NY
 
Designing well known websites with ADF Rich Faces
maikorocha
 
APIs, APIs Everywhere!
BIWUG
 
How to convert custom plsql to web services-Soap OR Rest
shravan kumar chelika
 
How to build integrated, professional enterprise-grade cross-platform mobile ...
Appear
 
BDD in practice based on an open source project
Łukasz Chruściel
 
Asp PPT (.NET )
Ankit Gupta
 
Advanced SharePoint Web Part Development
Rob Windsor
 

Similar to Taking Apex and Visualforce Above and Beyond (20)

PPTX
takingapexandvisualforceaboveandbeyondv1-141120224449-conversion-gate01
Sadeesh Jayakumaran ☁
 
DOC
cloud computing training institutes in hyderabad
mobbisys
 
PDF
WEBINAR: Proven Patterns for Loading Test Data for Managed Package Testing
CodeScience
 
PPTX
LDV-v2.pptx
Shams Pirzada
 
PDF
Intro to Force.com Webinar presentation
Developer Force - Force.com Community
 
PDF
Introduction to Force.com Webinar
Salesforce Developers
 
PPTX
LDV.pptx
Shams Pirzada
 
PPTX
Large Data Volume Salesforce experiences
Cidar Mendizabal
 
PDF
"Salesforce"
Susma S
 
DOC
Salesforce crm training
FuturePoint Technologies
 
PPT
Aen007 Kenigsberg 091807
Dreamforce07
 
PDF
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
Salesforce Admins
 
PPTX
Visualforce Custom Design Patterns
Salesforce Developers
 
PPTX
SFDC Database Basics
Sujit Kumar
 
PDF
Development Strategies for Enterprise Scale From the Salesforce.com Platform
Salesforce Developers
 
PPTX
Salesforce online training -GoLogica
GoLogica Technologies
 
PDF
Extreme Salesforce Data Volumes Webinar
Salesforce Developers
 
PDF
pooja file
Pooja Chaudhary
 
PDF
Extremesalesforcedatavolumes final-130220113913-phpapp02
Pooja Chaudhary
 
PPTX
Salesforce admin training 4
HungPham381
 
takingapexandvisualforceaboveandbeyondv1-141120224449-conversion-gate01
Sadeesh Jayakumaran ☁
 
cloud computing training institutes in hyderabad
mobbisys
 
WEBINAR: Proven Patterns for Loading Test Data for Managed Package Testing
CodeScience
 
LDV-v2.pptx
Shams Pirzada
 
Intro to Force.com Webinar presentation
Developer Force - Force.com Community
 
Introduction to Force.com Webinar
Salesforce Developers
 
LDV.pptx
Shams Pirzada
 
Large Data Volume Salesforce experiences
Cidar Mendizabal
 
"Salesforce"
Susma S
 
Salesforce crm training
FuturePoint Technologies
 
Aen007 Kenigsberg 091807
Dreamforce07
 
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
Salesforce Admins
 
Visualforce Custom Design Patterns
Salesforce Developers
 
SFDC Database Basics
Sujit Kumar
 
Development Strategies for Enterprise Scale From the Salesforce.com Platform
Salesforce Developers
 
Salesforce online training -GoLogica
GoLogica Technologies
 
Extreme Salesforce Data Volumes Webinar
Salesforce Developers
 
pooja file
Pooja Chaudhary
 
Extremesalesforcedatavolumes final-130220113913-phpapp02
Pooja Chaudhary
 
Salesforce admin training 4
HungPham381
 
Ad

More from Salesforce Developers (20)

PDF
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Salesforce Developers
 
PDF
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Salesforce Developers
 
PDF
Local development with Open Source Base Components
Salesforce Developers
 
PPTX
TrailheaDX India : Developer Highlights
Salesforce Developers
 
PDF
Why developers shouldn’t miss TrailheaDX India
Salesforce Developers
 
PPTX
CodeLive: Build Lightning Web Components faster with Local Development
Salesforce Developers
 
PPTX
CodeLive: Converting Aura Components to Lightning Web Components
Salesforce Developers
 
PPTX
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
PPTX
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
PDF
Live coding with LWC
Salesforce Developers
 
PDF
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
PDF
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
PDF
Lightning web components episode 2- work with salesforce data
Salesforce Developers
 
PDF
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
PDF
Migrating CPQ to Advanced Calculator and JSQCP
Salesforce Developers
 
PDF
Scale with Large Data Volumes and Big Objects in Salesforce
Salesforce Developers
 
PDF
Replicate Salesforce Data in Real Time with Change Data Capture
Salesforce Developers
 
PDF
Modern Development with Salesforce DX
Salesforce Developers
 
PDF
Get Into Lightning Flow Development
Salesforce Developers
 
PDF
Integrate CMS Content Into Lightning Communities with CMS Connect
Salesforce Developers
 
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Salesforce Developers
 
Local development with Open Source Base Components
Salesforce Developers
 
TrailheaDX India : Developer Highlights
Salesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Salesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
Salesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
Salesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
Live coding with LWC
Salesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
Lightning web components episode 2- work with salesforce data
Salesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Salesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Salesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Salesforce Developers
 
Modern Development with Salesforce DX
Salesforce Developers
 
Get Into Lightning Flow Development
Salesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Salesforce Developers
 
Ad

Recently uploaded (20)

PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
Complete Network Protection with Real-Time Security
L4RGINDIA
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Complete Network Protection with Real-Time Security
L4RGINDIA
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Persuasive AI: risks and opportunities in the age of digital debate
Speck&Tech
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 

Taking Apex and Visualforce Above and Beyond

  • 1. Taking Apex and Visualforce Above and Beyond Jay Jayakumaran Yahoo! Inc. Senior Developer
  • 3. Agenda – Building synchronous data loader using Apex and Visualforce – Bulk edit using Apex and Visualforce – Grand Children Design Pattern – Building custom field track history using Apex and Visualforce
  • 4. Building Synchronous data loader using Apex and Visualforce
  • 5. Building synchronous data loader using Apex and Visualforce • Why? – Give Standard Users insert, update, and deletion rights without extending them Admin rights such as API or Modify All Data. – Existing desktop based tools require user training or users to rely on the admin for all data loads. – The functionality is not available out of the box https://success.salesforce.com/ideaview?id=08730000000Bre6AAC • What has Yahoo! done? –We have customized Data import tools to bulk insert/update 10,000 records in real time synchronously.
  • 6. Highlights of the Visualforce data loader  Step by step wizard process for Data import  A Standard help template for the sObject to load the data  UI Preview of the csv to be imported/updated  Customized data import logic which parses a generic csv file and inserts Parent, Children, and Grandchildren in one single transaction  Advanced success and error records display with RollBack or finish options  Sending success and error records as csv files to email  Code can be reused if necessary by other teams with minimal changes
  • 7. Visualforce data loader – Screen shots STEP 1: Choose file STEP 2: Preview file STEP 3: View Success and Error records with Rollback/Finish
  • 8. Inserting Parent, Children, and Grand Children in one single transaction Data Import tool (VF Page & Apex class) Template sObject csv Parent sObject Create Success and error files; and send email Child sObject Grand Children sObject
  • 9. Update/Delete Operation sObject csv Data Import tool (Identifies records using record name) Create Success and error files; and send email
  • 10. Code walkthrough  Convert csv blob to String  Use DescribeFieldResult to get the API names of the field labels  Parse the String to form a collection of sObjects  Use Database methods to do insert or update so that we can handle success and error records
  • 11. Demo - Building Synchronous data loader using Apex and Visualforce
  • 12. Bulk Edit using Apex and Visualforce
  • 13. Bulk Edit using Apex and Visualforce  Why ?  Out of the Box list views in salesforce provides bulk edit in UI  Users have to create first list view of their choice or clone list views  User training required on how to customize list views and filter  Highlights  Visualforce page for bulk edit  Real time filters and display of records meeting the criteria  Has all the features of the standard bulk edit  Error handling (Triggers and validation rules)
  • 14. Demo - Bulk Edit using Apex and Visualforce
  • 16. Grandchildren Pattern (User Navigation) – In Standard SFDC, drilling down on the Grand Children records from the parent record requires 3 pages. – Accommodate the CRUD of children and Grand Children records in just one page – Used generally in the Parent record Detail/View page – Achieved through Radio Button related lists or Expand Collapse pattern – DEMO Parent Child Grand Child
  • 18. Field Track History using Apex and Visualforce Salesforce.com Field Track History limitations  Can track only 20 fields per sObject (need to contact SFDC support to increase)  Cannot record the value changes on MultiSelect Picklist and long text area fields  Cannot do data migration on Standard History tables  (We have to create custom history tables; data migrate legacy audit trail into custom history tables; Combine both the standard history data and custom history data into one List on UI).
  • 19. Field Track History using Apex and Visualforce – Cont.  Create after insert, after update triggers on sObject  Track the value changes using Trigger.old and Trigger.New  Insert the history records into custom history tables Sample code: // Save ContentLicense History for Multi-select picklist fields //writing such code for every field on each sObject is not efficient and is repetitive consuming code lines if(Trigger.isUpdate) { List<ContentLicenseLegacyHistory__c> rhInsList = new List<ContentLicenseLegacyHistory__c> (); for (ContentLicense__c rOld : Trigger.old) { ContentLicense__c rNew = Trigger.newMap.get(rOld.Id) if (rOld.Device__c != rNew.Device__c) { rhinsList.add(new ContentLicenseLegacyHistory__c(parentid__c = rOld.id,field__c = 'Device__c',oldValue__c = rOld.Device__c, newValue__c = rNew.Device__c, CreatedDate__c = rNew.LastModifiedDate, CreatedById__c = rNew.CreatedById)); } if (rOld.UserGeo__c != rNew.UserGeo__c) { rhinsList.add(new ContentLicenseLegacyHistory__c(parentid__c = rOld.id,field__c = 'UserGeo__c',oldValue__c = rOld.UserGeo__c, newValue__c = rNew.UserGeo__c, CreatedDate__c = rNew.LastModifiedDate, CreatedById__c = rNew.CreatedById)); } insert rhInsList;
  • 20. Custom Field Track history - architecture App. User Interface: (Visualforce, JavaScript, CSS, Apex class, and Config Tables) Trigger and Generic Apex class framework: (Apex Trigger, Apex class, and Custom History tables) Generic History UI Component ( Visualforce, Apex class) Config Tables to store the sObject names and its fields to be tracked GUI config for sObject and fields to be tracked Apex Trigger framework (after insert, update) Generic Apex class Framework createHistory(sObjectName, FieldName, OldObjectCopy, newObjectCopy) History records Insert field track history records with field old and new values into custom history tables Generic UI Component Loads the history records into standard pagelayouts or sObject Visualforce Pages
  • 21. Q&A

Editor's Notes

  • #3: Intro (keep to under a minute)
  • #5: Step by step wizard process for Data import Step 1: A Standard help template for the sObject to load the data The Column headers in csv should be same as the UI/Label name of the field UI Preview of the csv to be imported/updated Step 2: UI Preview of the csv to be imported/updated Customized data import logic which parses a template csv file and inserts Parent, children, and grandchildren in one single transaction Can be extended for other database operation such as Update, Upsert, and delete Step 3: All the standard validation rules and trigger error handling applies Any other custom error handling can be coded as needed Advanced success and error records display with RollBack or finish options Sending success and error records as csv files to email Code can be reused if necessary by other teams with minimal changes Note: Update operation can be done using record names instead of record Ids. (Name should be unique on the sObject to be updated/deleted) Lookup/Parent records ids can be looked up using their record names
  • #9: When talking to this slide detail the components in use such as “The Template sObject csv file is sent to the Data Import tool comprising of a VF page with Apex Class Controller which re-directs a preview VF page showing a preview of the data structure (columns, fields, records to be inserted) that you will then insert as the Parent Custom object first follow by the Child and Grand Child records and finally showing your success and error VF page giving options to Finish and return to the start of the import tool wizard (VF Page) or rollback the insert your just did.”
  • #10: Recap of the Presentation after these slides refer to the Overview notes on the demo slide!
  • #12: Step by step wizard process for Data import Step 1: A Standard help template for the sObject to load the data The Column headers in csv should be same as the UI/Label name of the field UI Preview of the csv to be imported/updated Step 2: UI Preview of the csv to be imported/updated Customized data import logic which parses a template csv file and inserts Parent, children, and grandchildren in one single transaction Can be extended for other database operation such as Update, Upsert, and delete Step 3: All the standard validation rules and trigger error handling applies Any other custom error handling can be coded as needed Advanced success and error records display with RollBack or finish options Sending success and error records as csv files to email Code can be reused if necessary by other teams with minimal changes Note: Update operation can be done using record names instead of record Ids. (Name should be unique on the sObject to be updated/deleted) Lookup/Parent records ids can be looked up using their record names
  • #13: Step by step wizard process for Data import Step 1: A Standard help template for the sObject to load the data The Column headers in csv should be same as the UI/Label name of the field UI Preview of the csv to be imported/updated Step 2: UI Preview of the csv to be imported/updated Customized data import logic which parses a template csv file and inserts Parent, children, and grandchildren in one single transaction Can be extended for other database operation such as Update, Upsert, and delete Step 3: All the standard validation rules and trigger error handling applies Any other custom error handling can be coded as needed Advanced success and error records display with RollBack or finish options Sending success and error records as csv files to email Code can be reused if necessary by other teams with minimal changes Note: Update operation can be done using record names instead of record Ids. (Name should be unique on the sObject to be updated/deleted) Lookup/Parent records ids can be looked up using their record names
  • #16: Step by step wizard process for Data import Step 1: A Standard help template for the sObject to load the data The Column headers in csv should be same as the UI/Label name of the field UI Preview of the csv to be imported/updated Step 2: UI Preview of the csv to be imported/updated Customized data import logic which parses a template csv file and inserts Parent, children, and grandchildren in one single transaction Can be extended for other database operation such as Update, Upsert, and delete Step 3: All the standard validation rules and trigger error handling applies Any other custom error handling can be coded as needed Advanced success and error records display with RollBack or finish options Sending success and error records as csv files to email Code can be reused if necessary by other teams with minimal changes Note: Update operation can be done using record names instead of record Ids. (Name should be unique on the sObject to be updated/deleted) Lookup/Parent records ids can be looked up using their record names
  • #18: Step by step wizard process for Data import Step 1: A Standard help template for the sObject to load the data The Column headers in csv should be same as the UI/Label name of the field UI Preview of the csv to be imported/updated Step 2: UI Preview of the csv to be imported/updated Customized data import logic which parses a template csv file and inserts Parent, children, and grandchildren in one single transaction Can be extended for other database operation such as Update, Upsert, and delete Step 3: All the standard validation rules and trigger error handling applies Any other custom error handling can be coded as needed Advanced success and error records display with RollBack or finish options Sending success and error records as csv files to email Code can be reused if necessary by other teams with minimal changes Note: Update operation can be done using record names instead of record Ids. (Name should be unique on the sObject to be updated/deleted) Lookup/Parent records ids can be looked up using their record names