deploying to the salesforce1 platform
DESCRIPTION
Slide deck from my talk to the London Salesforce Developers on deploying in SalesforceTRANSCRIPT
![Page 1: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/1.jpg)
Deploying to the Salesforce1 PlatformJuly 23rd 2014
Keir Bowden,Chief Technical Officer, BrightGen@bob_buzzard
![Page 2: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/2.jpg)
Deployment• Moving release artifacts
• Salesforce tools only
• Not distribution– Your org(s)
• “To position troops in readiness for battle”
![Page 3: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/3.jpg)
Force.com IDE
![Page 4: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/4.jpg)
Force.com IDE• Eclipse Plugin
• Deploys through metadata API
• Summer 14 version available
• Open source
![Page 5: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/5.jpg)
Pros• No setup
• Deploy to any server
• Backs up destination
• Destructive Changes
![Page 6: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/6.jpg)
Cons• Entirely manual
• Slow– Locks Eclipse– Progress in main UI
• Not repeatable– Redeploy = latest versions
![Page 7: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/7.jpg)
When to Use• Infrequently
• Very small changes
• Unconnected Orgs
• 1 person team
![Page 8: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/8.jpg)
Change Sets
![Page 9: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/9.jpg)
Change Sets• Standard UI
• Point and Click
![Page 10: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/10.jpg)
Pros• No developer skills
• Audited
• Dependency assistance
• Infinitely repeatable
![Page 11: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/11.jpg)
Cons• Doesn’t scale well
• No automation, destructive changes
• Can be slow to appear – 30 mins plus
• Connected Orgs Only
• Profiles behave unexpectedly
![Page 12: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/12.jpg)
When to Use• Frequently
• Small to medium changes
• Administrator only skillset
• One-off deliveries
• Separation of Duties
![Page 13: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/13.jpg)
Migration Tool
![Page 14: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/14.jpg)
Migration Tool• Ant extension
• Scripted
![Page 15: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/15.jpg)
Pros• Deploy to any server
• Integrates with source control– Repeatable
• Integration with CI tools
• Can be automated
![Page 16: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/16.jpg)
Cons• Up front setup cost
– Scripts are software
• Requires developer skillset
• Password stored in cleartext– On-premise only
![Page 17: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/17.jpg)
When to Use• Frequently
• Large changes
• Repetitive deployments
• Multi-stage release process
• Existing build/release process
![Page 18: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/18.jpg)
Managed Package
![Page 19: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/19.jpg)
Managed Package• Container for Salesforce
components
• Create from developer edition
![Page 20: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/20.jpg)
Pros• Manages dependencies
• Install into any org
• Upgradeable
• Namespaced
• Easy rollback through uninstall
![Page 21: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/21.jpg)
Cons• Separate codebase
• Limited customisation
• Consumes limits– E.g. tabs
• 75% test coverage to upload
![Page 22: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/22.jpg)
When to Use• Rarely
• Multi-org strategy
– Fixed starting point
– Common Configuration• Locked down• Centrally managed
![Page 23: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/23.jpg)
Unmanaged Package
![Page 24: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/24.jpg)
Unmanaged Package• Container for Salesforce
components
• Create from developer edition
![Page 25: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/25.jpg)
Pros• Manages dependencies
• Install into any org
• Customize installed components
• Easy rollback through uninstall
![Page 26: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/26.jpg)
Cons• Separate codebase
• Not namespaced– Increased likelihood of conflicts – Some auto renaming
• Not upgradeable
• 75% test coverage to upload
![Page 27: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/27.jpg)
When to Use• Very rarely
• Multi-org strategy– Common starting point– Autonomy for customization
• Production org without sandbox
![Page 28: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/28.jpg)
Gotchas
![Page 29: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/29.jpg)
Upgrade Windows• Three Salesforce releases/year
• Multi-week rollout
• Different source/target versions
• Tools can become flaky
![Page 30: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/30.jpg)
Manual Changes• Not everything is deployable
• Manual changes are required
• Document in release instructions
• Four eyes principle
![Page 31: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/31.jpg)
Rolling Back• Not possible on Salesforce!
• Strategy depends on tool
• Create “undo” artefacts/instructions
• Production deploy – refresh sandbox– Complete snapshot of original
config
![Page 32: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/32.jpg)
And finally• Technology is part of the solution
• Governance may influence decision
• Soft requirements:– Communication– Training– User Lockout
![Page 33: Deploying to the Salesforce1 Platform](https://reader030.vdocuments.net/reader030/viewer/2022012916/540d78968d7f72767e8b49be/html5/thumbnails/33.jpg)
Thank You