Setting up Developer Environment
- Register developer account at https://developer.salesforce.com/
- You can login your org from http://www.salesforce.com/
- Install Salesforce IDE for eclipse https://developer.salesforce.com/page/Force.com_IDE_Installation
Understand the different Salesforce Environment
CI and team development with Salesforce
Deployment is a one-way transaction
There is no easy way to roll back changes deployed in Production. As documented here . It is another reason we should look at the next support level. A change set is deployed in a single transaction. If the deployment is unable to complete for any reason, the entire transaction is rolled back. After a deployment completes successfully, all changes are committed to your organization and the deployment can’t be rolled back.
Salesforce known issues
- Search for Dreamforce from YouTube , Dreamforce is the salesforce conference , like the Teched in Microsoft.
- Pluralsight offer some good developer training
- cbtnuggets offers Power user training
- Beginner Tutorials
Documentations from Salesforce
I am very new to Salesforce and as you can see from my blog, I am .Net developer and more specifically a SharePoint developer. In salesforce , there is no clear strategy for release management and I am asking the wider Salesforce community to help me to see if the proposed release plan is OK.
The current deployment model we use are multiple Sandbox environments and changeset to deploy change from Dev >> Test>>Preprod>>Prod . Here are the challenges I understand so far in Salesforce deployment.
You cannot rollback after a changeset is successfully deployed
Creating changeset is very manual
To address the first issue (You cannot rollback after a changeset is successfully deployed):
Backup the data by scheduling a weekly data export (my question would be , how we can use the data export to restore the data)
Backup the apex code (trigger, visual force…), we can use eclipse to deploy these changes so that the apex code can be rolled back.
Document all the schema changes(custom object, custom fields, custom labels, tabs …) , if we do need rolled back we can manually delete all those changes..
To address second issue (Creating changeset is very manual)
We are looking at using Salesforce IDE or Salesforce migration tool to deploy the changes from environment to environment.