SlideShare a Scribd company logo
Advanced Application Lifecycle Management
Tear Down, Rebuild, Reconfigure, Rinse and Repeat: How to Get the Most out
of your Developer Sandboxes

John Vogt, Senior Product Manager, Salesforce.com
Eric Wilcox, Senior Developer/Architect, Financial Force
Safe Harbor
 Safe harbor statement under the Private Securities Litigation Reform Act of 1995:

 This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
 materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results
 expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be
 deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other
 financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any
 statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.

 The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new
 functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our
 operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of
 intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we
 operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new
 releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization
 and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of
 salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This
 documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of
 our Web site.

 Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently
 available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based
 upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-
 looking statements.
Eric Wilcox
Senior Developer/Architect
roc.wilcox@gmail.com
John Vogt
Senior Product Manager
Force.com Sandbox
Let Us Get To Know You
Goals for This Session

• Techniques for Automating the Setup
  of your Sandbox

• Value your Developer Sandboxes

• Value repeatable Metadata API Tasks

• Value Test Data Sets
Lets Get Started!
Force.com Development & Customization Tasks

  • Individual Develop & Unit Test
  • Individual QA
  • Team QA
  • UAT
  • Staging
  • Scalability Testing
What is the best product for these Use Cases?
Product Type         Description                                                  Use Cases
Full                 Full copy of configuration and production data       Staging,
                     Storage limitation based on that of production org   Scalability Testing,
                     29 Day Refresh Interval                              Training,
                                                                           UAT
Configuration Only   Full copy of configuration only (no data copied)     UAT,
                     ~ 250,000 Records at 500MB storage limit for data    Code Integration & QA
                     Daily Refresh Interval

Developer            Full copy of configuration only (no data copied)     Development & Unit
                                                                           Testing,
                     ~5,000 Records at 10MB storage limit for data
                                                                           QA
                     Daily Refresh Interval
Agile Sandbox Development
The Pillars of Agile Sandbox Success


• Use Metadata Tools
• Use Source Control
• Create Test Data Sets
Why are these Pillars Important?

• Environment set up continuity
• Effective deployment practices
• Environment parity
• More agility
Metadata Tools

Tool                  Description                            Use Cases
Force.com Migration   • Full Metadata API Support   • Environment Tear Down
Tool
                      • Repeatable Scripts          • Configuration Deployment
(Ant Tool)
                      • Automation                  • Execute Unit Tests


API (WSDLs)           • SOAP Access                 • Create Test Data
Enterprise
                      • Programmatic Interface      • Configure Application Data
Partner
                                                      (custom settings, users, etc)
Metadata              • Ant Integration
Simple Playbook
So, I need to develop and unit test – what do I need?

• Isolated workspace for a developer
• The ability to load a specific version
  of configuration
• Access and ability to load test data
  sets
• The ability to make and save my
  configuration changes
What is needed in each QA environment?

• Isolated workspace for a for the QE
• The ability to load a specific version
  of configuration
• Access and ability to load test data
  sets
• Ability to test, tear down, and test
  again
Repeatable Ant Targets

• Create and/or Tear Down Environment
• Load/Deploy Configuration Version
• Load Test Data and Custom Settings
• Run Tests
Create and/or Tear Down
      Environment
Teardown – How To Dynamically Clean An Org
      1   Ant Retrieve


          Clean
      2   Std Obj Layouts


                                       Target Org
      3   Build Package



      4   Deploy Layouts



      5   Build Destructive Changes



      6   Deploy
• Remove Extraneous Items
   • Renamed by Developers
   • Triggers/Validation rules added
     to for testing
• Downgrade to Earlier Version
   • Urgent Bug Fixes
   • Rollback a code change
• Continuity/Consistency
Deploy Configuration Version
• Continuity/Consistency
• Version Control
• Version Build Tools
Load Test Data and Custom
         Settings
• Create Test Data Sets
   • Use Existing Skills (Apex)
   • Create Robust Data
• Continuity/Consistency
• Agility
Run Unit Tests
• Developers Run Relevant Tests
• Regularly Run All Tests
• Review Output/Monitor for Errors
• Continuity/Consistency
• Agility
Quick Review
Notes & Information
Source Control Systems:
• CVS, SVN, GIT, VSS

Session Content
• URL:
    • https://github.com/financialforcedev/df12-deployment-tools
• Includes:
• readme for integration tips and info
• Ant “build.xml” with demo’d targets
• Sample Salesforce App w/ dummy classes, trigger, etc
• Java Samples for Anonymous Execution and Purge on Delete
Roadmap
Faster Deploys to Production   PILOT




Only Run Specified Tests

Must Cover Code Changes

75% Coverage Per Class

Force.com Migration Tool
Reduced Sandbox Set Up Time                PILOT




                    Copy the Objects You Need

                    Omit the Objects You Don’t

                    Obfuscate Sensitive Data

                    Subset of Records

                    Shorter Time To Use
More Metadata Exposed                              SPRING ‘13




 Approvals               Entitlement Processes
 Business Hours          Lead Assignment Rules
 Case Assignment Rules   Milestones
 Case Escalation Rules   Opportunity Teams
 Case Team Roles         Scheduled Apex Jobs
 Contract Line Items     Search Layouts Standard Objects
 Communities             Sharing Model
John Vogt           Eric Wilcox
Senior Product Manager   Financial Force
    Salesforce.com
Advanced Application Lifecycle Managment

More Related Content

Viewers also liked

Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
CloudNetCare
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec Selenium
SOAT
 
Xdt Tests Driven Architecture Process V1.0
Xdt Tests Driven Architecture Process V1.0Xdt Tests Driven Architecture Process V1.0
Xdt Tests Driven Architecture Process V1.0
guestee837a
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnels
cvcby
 
Conférence #nwxtech5 : Selenium WebDriver 2 par Romain Louvet
Conférence #nwxtech5 : Selenium WebDriver 2 par Romain LouvetConférence #nwxtech5 : Selenium WebDriver 2 par Romain Louvet
Conférence #nwxtech5 : Selenium WebDriver 2 par Romain Louvet
Normandie Web Xperts
 
20091008 Tests Interaces Web Riches Selenium
20091008   Tests Interaces Web Riches Selenium20091008   Tests Interaces Web Riches Selenium
20091008 Tests Interaces Web Riches Selenium
GreenIvory
 
Tests de montée en charge avec Tsung
Tests de montée en charge avec TsungTests de montée en charge avec Tsung
Tests de montée en charge avec Tsung
Rodolphe Quiédeville
 
Les Aventures d'Alice - la Révolte des Tests
Les Aventures d'Alice - la Révolte des TestsLes Aventures d'Alice - la Révolte des Tests
Les Aventures d'Alice - la Révolte des Tests
Ly-Jia Goldstein
 
Partage de document - Banc d'essai de solutions gratuites
Partage de document - Banc d'essai de solutions gratuitesPartage de document - Banc d'essai de solutions gratuites
Partage de document - Banc d'essai de solutions gratuites
Agropolis Productions
 
Présentation banc_ test
Présentation banc_ testPrésentation banc_ test
Présentation banc_ test
Cynapsys It Hotspot
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
Stéphane Salmons
 
Test Complete
Test CompleteTest Complete
Test Complete
RomSoft SRL
 
Tests ihm automatises avec selenium
Tests ihm automatises avec seleniumTests ihm automatises avec selenium
Tests ihm automatises avec selenium
sojavawest
 

Viewers also liked (14)

Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
 
Allons plus loin avec Selenium
Allons plus loin avec SeleniumAllons plus loin avec Selenium
Allons plus loin avec Selenium
 
Xdt Tests Driven Architecture Process V1.0
Xdt Tests Driven Architecture Process V1.0Xdt Tests Driven Architecture Process V1.0
Xdt Tests Driven Architecture Process V1.0
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnels
 
Conférence #nwxtech5 : Selenium WebDriver 2 par Romain Louvet
Conférence #nwxtech5 : Selenium WebDriver 2 par Romain LouvetConférence #nwxtech5 : Selenium WebDriver 2 par Romain Louvet
Conférence #nwxtech5 : Selenium WebDriver 2 par Romain Louvet
 
20091008 Tests Interaces Web Riches Selenium
20091008   Tests Interaces Web Riches Selenium20091008   Tests Interaces Web Riches Selenium
20091008 Tests Interaces Web Riches Selenium
 
Tests de montée en charge avec Tsung
Tests de montée en charge avec TsungTests de montée en charge avec Tsung
Tests de montée en charge avec Tsung
 
Les Aventures d'Alice - la Révolte des Tests
Les Aventures d'Alice - la Révolte des TestsLes Aventures d'Alice - la Révolte des Tests
Les Aventures d'Alice - la Révolte des Tests
 
Partage de document - Banc d'essai de solutions gratuites
Partage de document - Banc d'essai de solutions gratuitesPartage de document - Banc d'essai de solutions gratuites
Partage de document - Banc d'essai de solutions gratuites
 
Présentation banc_ test
Présentation banc_ testPrésentation banc_ test
Présentation banc_ test
 
Selenium
SeleniumSelenium
Selenium
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Test Complete
Test CompleteTest Complete
Test Complete
 
Tests ihm automatises avec selenium
Tests ihm automatises avec seleniumTests ihm automatises avec selenium
Tests ihm automatises avec selenium
 

Similar to Advanced Application Lifecycle Managment

DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
rsg00usa
 
Introduction to Javascript Unit Testing With xUnit.js
Introduction to Javascript Unit Testing With xUnit.jsIntroduction to Javascript Unit Testing With xUnit.js
Introduction to Javascript Unit Testing With xUnit.js
Salesforce Developers
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
Ali Akbar
 
Using IBM Rational Change as an Enterprise-Wide Error Management Solution – ...
 Using IBM Rational Change as an Enterprise-Wide Error Management Solution – ... Using IBM Rational Change as an Enterprise-Wide Error Management Solution – ...
Using IBM Rational Change as an Enterprise-Wide Error Management Solution – ...
Contribyte
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
Salesforce Developers
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
Robbie Minshall
 
Self-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release PipelinesSelf-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release Pipelines
Salesforce Engineering
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
Parasoft
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
Salesforce Partners
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
TEST Huddle
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous Integration
Sebastian Wagner
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
Rosalind Radcliffe
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
Salesforce Developers
 
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Developers
 
UX in ALM Series - UX Project Worflow using TFS 2008
UX in ALM Series - UX Project Worflow using TFS 2008UX in ALM Series - UX Project Worflow using TFS 2008
UX in ALM Series - UX Project Worflow using TFS 2008
Christian Thilmany
 
Performance Monitoring and Testing in the Salesforce Cloud
Performance Monitoring and Testing in the Salesforce CloudPerformance Monitoring and Testing in the Salesforce Cloud
Performance Monitoring and Testing in the Salesforce Cloud
Salesforce Developers
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
Jeremy Likness
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep Dive
Christian Thilmany
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Salesforce Admins
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 

Similar to Advanced Application Lifecycle Managment (20)

DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 
Introduction to Javascript Unit Testing With xUnit.js
Introduction to Javascript Unit Testing With xUnit.jsIntroduction to Javascript Unit Testing With xUnit.js
Introduction to Javascript Unit Testing With xUnit.js
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
 
Using IBM Rational Change as an Enterprise-Wide Error Management Solution – ...
 Using IBM Rational Change as an Enterprise-Wide Error Management Solution – ... Using IBM Rational Change as an Enterprise-Wide Error Management Solution – ...
Using IBM Rational Change as an Enterprise-Wide Error Management Solution – ...
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
Self-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release PipelinesSelf-Service Secure Test and Release Pipelines
Self-Service Secure Test and Release Pipelines
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Release and Enviromental Management
Release and Enviromental ManagementRelease and Enviromental Management
Release and Enviromental Management
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous Integration
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We DoSalesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Multitenant Architecture: How We Do the Magic We Do
 
UX in ALM Series - UX Project Worflow using TFS 2008
UX in ALM Series - UX Project Worflow using TFS 2008UX in ALM Series - UX Project Worflow using TFS 2008
UX in ALM Series - UX Project Worflow using TFS 2008
 
Performance Monitoring and Testing in the Salesforce Cloud
Performance Monitoring and Testing in the Salesforce CloudPerformance Monitoring and Testing in the Salesforce Cloud
Performance Monitoring and Testing in the Salesforce Cloud
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep Dive
 
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam BarnetSandboxes: The Future of App Development by Evan Barnet & Pam Barnet
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 

More from Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Salesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
Salesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
Salesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
Salesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
Salesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
Salesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
Salesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
Salesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
Salesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
Salesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
Salesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
Salesforce Developers
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
Salesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
Salesforce Developers
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
Salesforce Developers
 

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 

Advanced Application Lifecycle Managment

  • 1. Advanced Application Lifecycle Management Tear Down, Rebuild, Reconfigure, Rinse and Repeat: How to Get the Most out of your Developer Sandboxes John Vogt, Senior Product Manager, Salesforce.com Eric Wilcox, Senior Developer/Architect, Financial Force
  • 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward- looking statements.
  • 4. John Vogt Senior Product Manager Force.com Sandbox
  • 5. Let Us Get To Know You
  • 6. Goals for This Session • Techniques for Automating the Setup of your Sandbox • Value your Developer Sandboxes • Value repeatable Metadata API Tasks • Value Test Data Sets
  • 8. Force.com Development & Customization Tasks • Individual Develop & Unit Test • Individual QA • Team QA • UAT • Staging • Scalability Testing
  • 9. What is the best product for these Use Cases? Product Type Description Use Cases Full Full copy of configuration and production data Staging, Storage limitation based on that of production org Scalability Testing, 29 Day Refresh Interval Training, UAT Configuration Only Full copy of configuration only (no data copied) UAT, ~ 250,000 Records at 500MB storage limit for data Code Integration & QA Daily Refresh Interval Developer Full copy of configuration only (no data copied) Development & Unit Testing, ~5,000 Records at 10MB storage limit for data QA Daily Refresh Interval
  • 11. The Pillars of Agile Sandbox Success • Use Metadata Tools • Use Source Control • Create Test Data Sets
  • 12. Why are these Pillars Important? • Environment set up continuity • Effective deployment practices • Environment parity • More agility
  • 13. Metadata Tools Tool Description Use Cases Force.com Migration • Full Metadata API Support • Environment Tear Down Tool • Repeatable Scripts • Configuration Deployment (Ant Tool) • Automation • Execute Unit Tests API (WSDLs) • SOAP Access • Create Test Data Enterprise • Programmatic Interface • Configure Application Data Partner (custom settings, users, etc) Metadata • Ant Integration
  • 15. So, I need to develop and unit test – what do I need? • Isolated workspace for a developer • The ability to load a specific version of configuration • Access and ability to load test data sets • The ability to make and save my configuration changes
  • 16. What is needed in each QA environment? • Isolated workspace for a for the QE • The ability to load a specific version of configuration • Access and ability to load test data sets • Ability to test, tear down, and test again
  • 17. Repeatable Ant Targets • Create and/or Tear Down Environment • Load/Deploy Configuration Version • Load Test Data and Custom Settings • Run Tests
  • 18. Create and/or Tear Down Environment
  • 19. Teardown – How To Dynamically Clean An Org 1 Ant Retrieve Clean 2 Std Obj Layouts Target Org 3 Build Package 4 Deploy Layouts 5 Build Destructive Changes 6 Deploy
  • 20. • Remove Extraneous Items • Renamed by Developers • Triggers/Validation rules added to for testing • Downgrade to Earlier Version • Urgent Bug Fixes • Rollback a code change • Continuity/Consistency
  • 22. • Continuity/Consistency • Version Control • Version Build Tools
  • 23. Load Test Data and Custom Settings
  • 24. • Create Test Data Sets • Use Existing Skills (Apex) • Create Robust Data • Continuity/Consistency • Agility
  • 26. • Developers Run Relevant Tests • Regularly Run All Tests • Review Output/Monitor for Errors • Continuity/Consistency • Agility
  • 29. Source Control Systems: • CVS, SVN, GIT, VSS Session Content • URL: • https://github.com/financialforcedev/df12-deployment-tools • Includes: • readme for integration tips and info • Ant “build.xml” with demo’d targets • Sample Salesforce App w/ dummy classes, trigger, etc • Java Samples for Anonymous Execution and Purge on Delete
  • 31. Faster Deploys to Production PILOT Only Run Specified Tests Must Cover Code Changes 75% Coverage Per Class Force.com Migration Tool
  • 32. Reduced Sandbox Set Up Time PILOT Copy the Objects You Need Omit the Objects You Don’t Obfuscate Sensitive Data Subset of Records Shorter Time To Use
  • 33. More Metadata Exposed SPRING ‘13 Approvals Entitlement Processes Business Hours Lead Assignment Rules Case Assignment Rules Milestones Case Escalation Rules Opportunity Teams Case Team Roles Scheduled Apex Jobs Contract Line Items Search Layouts Standard Objects Communities Sharing Model
  • 34. John Vogt Eric Wilcox Senior Product Manager Financial Force Salesforce.com