Development lifecycle guide (part 1)

Abdelhakim Mouttaqui ☁
Abdelhakim Mouttaqui ☁Salesforce Developer at Suitsupply en Suitsupply
Development Lifecycle Guide (part 1)
ABDELHAKIM
MOUTTAQUI
Chef de projets Sénior, SIWAY
@adbelhakim
@casasfdug
@SiWay_WebAgency
https://ma.linkedin.com/in/abdelhakimmouttaqui
https://www.linkedin.com/company/siway
http://abdelhakimmouttaqui.blogspot.com/
abdelhakim.mouttaqui@siway.fr
contact@siway.fr
SIWAY - VOTRE INTÉGRATEUR CERTIFIE SALESFORCE
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
Sommaire :
1. Introduction to the Force.com Development Lifecycle
2. Development Environments
3. Development Tools
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE
Developing in a Production Organization
Typical development lifecycle :
1. Plan functional requirements
2. Develop using Salesforce Web tools, using profiles to hide your changes until they’re
ready to deploy.
3. Update profiles to reveal your changes to the appropriate users.
4. Notify end users of changes.
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE
Developing with Sandbox
Typical development lifecycle:
1. Create a development environment.
2. Develop using Salesforce Web and
local tools.
3. Test within the development
environment.
4. Replicate production changes in the
development environment.
5. Deploy what you’ve developed to your
production organization.
Typical development projects:
•New custom objects, tabs, and
applications
•Integrations with other systems
•Apps involving Apex, Visualforce,
workflow, or new validation rules
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE
About Sandbox Organizations
A sandbox is a copy of your production organization. Sandboxes contain the same metadata as your
production organization. That metadata, as well as data in the case of a full sandbox, is copied to a
new organization, isolated from your production organization. Operations you perform in your sandbox
don’t affect your production organization.
Sandboxes are available in :
• Enterprise
• Unlimited
• and Performance Editions.
With Unlimited and Performance Edition, you can create multiple sandbox copies of different types.
Each sandbox instance is isolated from every other sandbox instance, just as they are from production.
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE
About Migrating Changes between Organizations
A deployment connection alone doesn't enable change sets to be sent between organizations. Each
organization must be authorized to send and receive change sets. This added level of security
enforces code promotion paths and keeps organizations' setup metadata from being overwritten by
mistake.
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE
DEMO
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
2. DEVELOPMENT ENVIRONMENTS
Developing on the Force.com platform requires a development environment, a place where you can
work without affecting other users.
When using a single development environment for development and testing, you must stop
development to test, and you can only resume development after you deploy. A more sophisticated
development model allows development to continue while testing and deployment take place. In this
case you need two isolated environments, one for development and one for testing.
Isolating Development and Testing
Typical development lifecycle:
1. Create a development environment.
2. Develop using Salesforce Web and local tools.
3. Create a testing environment.
4. Migrate changes from development
environment to testing environment.
5. Test.
6. Replicate production changes in other
environments.
7. Deploy what you’ve developed to your
production organization.
Typical development projects:
•New custom objects, tabs, and applications
•Integrations with other systems
•Apps involving workflow or new validation
rules
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
2. DEVELOPMENT ENVIRONMENTS
Developing Multiple Projects with Integration, Testing, and Staging
UAT : user-acceptance testing
Typical development lifecycle:
1. Create development environments.
2. Develop using Salesforce Web and local
tools.
3. Create testing environments, including UAT
and integration.
4. Migrate changes from development
environment to integration environment.
5. Test.
6. Migrate changes from integration
environment to UAT environment.
7. Perform user-acceptance tests.
8. Migrate changes from UAT environment to
staging environment.
9. Replicate production changes in staging
environment.
10.Schedule the release
Typical development projects:
• Concurrent development of new applications in multiple
environments
• Projects that require team development
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
2. DEVELOPMENT ENVIRONMENTS
About Types of Development Environments
There are two types of development environments: sandbox organizations and Developer Edition
organizations
Sandbox type Description
Developer
Developer sandboxes copy customization (metadata), but don't copy production data,
into a separate environment for coding and testing.
Developer Pro
Developer Pro sandboxes copy customization (metadata), but don't copy production
data, into a separate environment for coding and testing. Developer Pro has more
storage than a Developer sandbox. It includes a number of Developer sandboxes,
depending on the edition of your production organization.
Partial Copy
A Partial Copy sandbox is a Developer sandbox plus the data that you define in a
sandbox template.
Full
Full sandboxes copy your entire production organization and all its data, including
standard and custom object records, documents, and attachments. Use the sandbox
to code and test changes, and to train your team about the changes. You can refresh
a Full sandbox every 29 days.
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
2. DEVELOPMENT ENVIRONMENTS
Sandbox Uses
Use Type of SandBox Note
Development Developer or Developer Pro sandbox Full sandboxes are more costly in
terms of create and refresh time, and
would also give developers access to
data that might not be appropriate
Testing •Unit tests and Apex tests: Developer or Developer
Pro sandbox
•Feature tests and regression tests: Partial Copy
sandbox (with a standard data set loaded)
Testing external
integrations
Full sandbox is best when an external system
expects full production data to be present.
Partial Copy sandboxes may be
appropriate in special cases when you
want to use sample data or a subset
of your actual data. Works well if
you’re using external IDs
Staging and user-
acceptance testing
Full sandbox is best for validation of new
applications against production configuration and
data.
Partial Copy sandboxes are
appropriate if testing against a subset
of production data is acceptable, for
example, for regional tests.
Production
debugging
Full sandbox
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
2. DEVELOPMENT ENVIRONMENTS
Sandbox Considerations and Limitations
Sandbox functionality is not identical to production, and you will need to plan for the differences as well as for the copy
process itself.
Consider the following when creating or refreshing a sandbox:
• Creating or refreshing a sandbox copy is a long-running operation that might complete in minutes, days, or even
more than a week.
• Refreshing a sandbox deletes and recreates the sandbox as a new copy of the production organization.
• Setup and data changes to your production organization during the sandbox creation and refresh operations might
result in inconsistencies in your sandbox. Therefore, it’s best to freeze or minimize changes to your production
organization while creating or refreshing a sandbox.
The following features are disabled and cannot be enabled in sandboxes:
• Contract expiration warnings
• Case escalation Contract expiration warnings and case escalation are disabled because they automatically send
email to contacts, customers, and production organization users.
• Subscription summary
• Data exports (by clicking Export Now or Schedule Export on the Weekly Export Service page in Setup)
• The ability to create Salesforce sandboxes
• The ability to copy email service addresses that you create in your sandbox to your production organization
• The ability to publish Site.com sites
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
2. DEVELOPMENT ENVIRONMENTS
Updating Environmental Dependencies
Once you create a sandbox, configure it to update environmental dependencies and merge project contents before
beginning development.
Environmental
Dependency
Details
Login privileges If your developers and testers do not have logins on production, or do not have the necessary privileges, you need to give them the necessary
access in the development environment.
Email addresses When you create a sandbox, email addresses are automatically changed so that email alerts and other automatic notifications are not sent from
the sandbox during development. When your developers and testers log into the sandbox, they must change their email address back to a real
address to receive email messages sent from the sandbox.
Email recipients If you want to test outbound email for features such as escalations or dashboards, you must update the list of recipients, because these lists are
removed when the sandbox is created to prevent unnecessary emails.
External URLs If your production organization is integrated with external systems, you will probably not want your sandbox copy to communicate with the
production versions of those external systems, so as not to mix production and non-production data. For example, if you use outbound messaging
or web service callouts, you will want to update the URLs called by those services to point to your external development environment(s) for those
applications. Likewise, since sandboxes run on a different instance than the production organization, to test integrations with sandbox you will
need to change the API endpoint hostname from login.salesforce.com to test.salesforce.com
Hard-coded URLs In general, when linking from one Force.com page to another, the links should be relative (omitting the hostname) rather than absolute, and
dynamic (looking up the ID, record, or page by name) rather than static. This allows you to migrate the URLs between different organizations,
which might have different hostnames or record IDs. If your application contains hard-coded URLs from one Force.com page to another, they
might break when they are clicked from the sandbox or, worse, take a user who thinks he is in a development environment back to the production
organization.
Hard-coded IDs Some components are commonly accessed via their ID, such as RecordTypes. When you create a sandbox copy, code that uses these IDs to
reference these components continues to work because production IDs are retained by the sandbox copy. However, the reverse is not true—
migrating from sandbox to production (or between any two organizations) via metadata maintains components' names, but if the component does
not exist in the target organization, a new ID will be generated. Therefore, migrating code that contains a hard-coded ID can cause the code to
break. As a best practice, wherever possible, you should obtain a component's ID by querying for it by name.
Existing projects If you have existing development projects, you need to merge that work into the new development environment.
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
2. DEVELOPMENT ENVIRONMENTS
Creating User Templates
A developer user template is an abstract user that has permissions required to develop on the sandbox (for example, the
“Modify All Data” permission), but is not active on your production organization. After you create or refresh a sandbox,
you activate the developer user in the sandbox and assign it to the individual who will be developing there.
To create a developer template:
1. Create a new user on your production organization.
2. Edit the user to give it the necessary permissions.
3. Deactivate the user on the production organization.
4. Create or refresh a sandbox.
5. Activate the user on the sandbox.
6. Optionally change the email address, password, or other environmental settings
Your sandbox has the same number of licenses as production, but it is unlikely that all of your users will log into it. When
you create or refresh a sandbox, the same users who are active in production are active in the sandbox, so if all
licenses are occupied you will need to deactivate an active user to activate the inactive developer user. Just make
sure that the user you're deactivating in sandbox is one of the many production users who will never log into that
environment. Likewise, you should make your production developer user template inactive on the production
organization, so it doesn't consume a paid production license
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
2. DEVELOPMENT ENVIRONMENTS
Managing Sandboxes
To manage a sandbox, from Setup enter Sandboxes in the Quick Find box, then select Sandboxes. A list of your existing
sandboxes displays.
• Click New Sandbox to create a new sandbox. Salesforce deactivates the New Sandbox button when an organization
reaches its sandbox limit. If necessary, contact Salesforce to order more sandboxes for your organization.
• Click Sandbox History to see a log of your sandbox refresh history, including when sandboxes were created and who
created them.
• Click Refresh to replace an existing sandbox with a new copy. Salesforce only displays the Refresh link for sandboxes that
are eligible for refreshing, which varies for different types of sandboxes. Your existing copy of this sandbox remains available
while you wait for the refresh to complete. The refreshed copy is inactive until you activate it.
• Click Activate to activate a refreshed sandbox. You must activate your refreshed sandbox before you can access it.
Salesforce only displays this option for sandboxes that are not activated.
• Click Del to delete a sandbox. The delete option is only available if your organization exceeds its sandbox limit.
• Administrators can click Login to log into a sandbox as a user. Salesforce only displays this option for active sandboxes.
Users can log in to the sandbox at https://test.salesforce.com by appending .sandbox_name to their Salesforce usernames.
For example, if a username for a production organization is user1@acme.com, and the sandbox is named “test,” the
modified username to log in to the sandbox is user1@acme.com.test.
• Click on a sandbox name to view details about the sandbox, including the sandbox type and when it was created
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
3. DEVELOPMENT TOOLS
Regardless of your role in the development process, it is important to understand at a high level how all of the
Force.com development tools operate, and the development tasks that overlap each other.
The Force.com IDE is the best tool for team development, migration of selected components, and writing Apex.
The Force.com Migration Tool, on the other hand, is useful for migrating large scale or repetitive changes between
environments.
These and other Force.com tools are examined in the following sections
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
3. DEVELOPMENT TOOLS
Force.com App Builder Tools
The Salesforce user interface makes application development easy with point-and-click app builder tools. From Setup,
you can modify the metadata of your organization
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
3. DEVELOPMENT TOOLS
Force.com IDE
The Force.com IDE is an integrated development environment for developing applications on the Force.com
platform using Apex, Visualforce, and metadata components
Metadata API can deploy and retrieve up to 10,000 files or 400 MB at one time. If you need to retrieve or
deploy more than either of these limits, you must do so in batches.
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
3. DEVELOPMENT TOOLS
About Metadata API
Metadata API provides two parts that work in conjunction: a rich and powerful metadata model and an application
programming interface (API). The metadata model describes the components in your organization.
For example, Salesforce custom objects and their fields can be controlled by manipulating the XML files provided by
Metadata API.
Metadata API also includes a set of Web service methods that provide programmatic access to the configuration and
source of your metadata components.
In other words, it describes what you can do with those components, such as create an object or deploy one. If it helps
you to separate them into two parts, you can think of the metadata components as nouns, and the API calls as verbs.
With Metadata API you can:
• Work with setup configuration as metadata files.
• Copy, paste, merge, and manipulate metadata files using familiar tools, such as text editors, IDEs, batch
scripts, and source control systems.
• Migrate configuration changes between organizations, either between two development environments or from
development to production.
• Create your own tools for managing organization and application metadata
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
3. DEVELOPMENT TOOLS
Force.com Migration Tool
The Force.com Migration Tool is a Java/Ant-based command-line utility for moving metadata between a local
directory and a Salesforce organization. The Force.com Migration Tool allows you to migrate metadata between
unrelated organizations, so in that sense it’s more powerful than change sets.
Unlike the Force.com IDE, the Force.com Migration Tool has no graphical user interface. You choose the
components you want to deploy, the server address, and other deployment details by editing control files in a text
editor and using command-line arguments.
Most people will find the graphical user interface of the Force.com IDE easier to use than editing text files and
providing arguments on the command line.
However, the Force.com Migration Tool is especially useful in the following scenarios:
• Development projects where you need to populate a test environment with large amounts of setup
changes—making changes with an automated script is far faster than entering them by hand.
• Deployments where you need to change the contents of files between organizations—for example, if you
want to change the Running User on a dashboard, you can retrieve the Running User from organization A,
make a change, and then deploy the Running User to organization B. If you tried to do this in the
Force.com IDE, the IDE would force you to save the change back to organization A (where the organization
B user probably does not exist) before launching the Deploy Wizard to deploy to organization B. The
Force.com Migration Tool gives you complete control over the retrieve() and deploy() commands; editing
and saving a file on your local file system does not change the metadata in any organization until you
choose to deploy it.
• Multi-stage release processes—a typical development process requires iterative building, testing, and
staging before releasing to a production environment. Scripted retrieval and deployment of components
can make this process much more efficient.
• Repetitive deployment using the same parameters—you can retrieve metadata from your organization,
make changes, and deploy your changes to an organization. If you need to repeat this process, it is as
simple as calling the same deployment target again.
• When migration from staging to production is done by highly technical resources—anyone who prefers
deploying in a scripting environment will find the Force.com Migration Tool a familiar process.
DEVELOPMENT LIFECYCLE GUIDE (PART 1)
3. DEVELOPMENT TOOLS
Data Loader
Data Loader is a client application for the bulk import or export of data. Use it to insert, update, delete, or export
Salesforce records.
Use Web-based importing when:
• You are loading less than 50,000 records.
• The object you need to import is supported by
import wizards. To see what import wizards are
available and thus what objects they support, from
Setup, enter Data Management in the Quick Find
box, then select Data Management.
• You want to prevent duplicates by uploading
records according to account name and site,
contact email address, or lead email address.
Use Data Loader when:
• You need to load 50,000 to 5,000,000 records.
Data Loader is supported for loads of up to 5
million records. If you need to load more than 5
million records, we recommend you work with a
Salesforce partner or visit the App Exchange for a
suitable partner product.
• You need to load into an object that is not yet
supported by the import wizards.
• You want to schedule regular data loads, such
as nightly imports.
• You want to export your data for backup
purposes.
Q & A
Merci !
CONTACT
www.siway.fr
Tel Maroc : 05 22 26 99 97
contact@siway.fr
1 de 25

Recomendados

Sfdx introduction por
Sfdx introductionSfdx introduction
Sfdx introductionAbdelhakim Mouttaqui ☁
503 vistas16 diapositivas
Simplify your code with Salesforce DX and module development por
Simplify your code with Salesforce DX and module developmentSimplify your code with Salesforce DX and module development
Simplify your code with Salesforce DX and module developmentSalesforce Developers
6.6K vistas55 diapositivas
Dreamforce 13 developer session: Git for Force.com developers por
Dreamforce 13 developer session: Git for Force.com developersDreamforce 13 developer session: Git for Force.com developers
Dreamforce 13 developer session: Git for Force.com developersJohn Stevenson
3.5K vistas57 diapositivas
Introduction to Git for Force.com Developers por
Introduction to Git for Force.com DevelopersIntroduction to Git for Force.com Developers
Introduction to Git for Force.com DevelopersSalesforce Developers
2K vistas57 diapositivas
Webinar: From Sandbox to Production: Demystifying Force.com Release Managemen... por
Webinar: From Sandbox to Production: Demystifying Force.com Release Managemen...Webinar: From Sandbox to Production: Demystifying Force.com Release Managemen...
Webinar: From Sandbox to Production: Demystifying Force.com Release Managemen...Salesforce Developers
7.3K vistas29 diapositivas
Automating Deployment Between Orgs Using Git & Continuous Integration por
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationSebastian Wagner
11.1K vistas35 diapositivas

Más contenido relacionado

La actualidad más candente

Managing Change With A Sensible Sandbox Architecture por
Managing Change With A Sensible Sandbox ArchitectureManaging Change With A Sensible Sandbox Architecture
Managing Change With A Sensible Sandbox ArchitectureAlexander Sutherland
4.5K vistas18 diapositivas
Dependency Injection with the Force DI Framework por
Dependency Injection with the Force DI FrameworkDependency Injection with the Force DI Framework
Dependency Injection with the Force DI FrameworkDoug Ayers
873 vistas23 diapositivas
How to Setup Continuous Integration With Git, Jenkins, and Force.com por
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comSalesforce Developers
4.4K vistas33 diapositivas
Continuous delivery with Spring Cloud Pipelines Case Study por
Continuous delivery with Spring Cloud Pipelines Case StudyContinuous delivery with Spring Cloud Pipelines Case Study
Continuous delivery with Spring Cloud Pipelines Case StudyKamil Kochański
40 vistas61 diapositivas
Enterprise Heroku for Java por
Enterprise Heroku for JavaEnterprise Heroku for Java
Enterprise Heroku for JavaAyumu Aizawa
2.5K vistas20 diapositivas
不只自動化而且更敏捷的Android開發工具 gradle por
不只自動化而且更敏捷的Android開發工具 gradle不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradlesam chiu
12.2K vistas50 diapositivas

La actualidad más candente(20)

Managing Change With A Sensible Sandbox Architecture por Alexander Sutherland
Managing Change With A Sensible Sandbox ArchitectureManaging Change With A Sensible Sandbox Architecture
Managing Change With A Sensible Sandbox Architecture
Alexander Sutherland4.5K vistas
Dependency Injection with the Force DI Framework por Doug Ayers
Dependency Injection with the Force DI FrameworkDependency Injection with the Force DI Framework
Dependency Injection with the Force DI Framework
Doug Ayers873 vistas
How to Setup Continuous Integration With Git, Jenkins, and Force.com por Salesforce Developers
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.com
Salesforce Developers4.4K vistas
Continuous delivery with Spring Cloud Pipelines Case Study por Kamil Kochański
Continuous delivery with Spring Cloud Pipelines Case StudyContinuous delivery with Spring Cloud Pipelines Case Study
Continuous delivery with Spring Cloud Pipelines Case Study
Kamil Kochański40 vistas
Enterprise Heroku for Java por Ayumu Aizawa
Enterprise Heroku for JavaEnterprise Heroku for Java
Enterprise Heroku for Java
Ayumu Aizawa2.5K vistas
不只自動化而且更敏捷的Android開發工具 gradle por sam chiu
不只自動化而且更敏捷的Android開發工具 gradle不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle
sam chiu12.2K vistas
Introduction to Javascript Unit Testing With xUnit.js por Salesforce Developers
Introduction to Javascript Unit Testing With xUnit.jsIntroduction to Javascript Unit Testing With xUnit.js
Introduction to Javascript Unit Testing With xUnit.js
Salesforce Developers3.3K vistas
Salesforce.com Sandbox management por Ali Akbar
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
Ali Akbar4.6K vistas
The definitive guide to salesforce sandbox flosum por Flosum
The definitive guide to salesforce sandbox flosumThe definitive guide to salesforce sandbox flosum
The definitive guide to salesforce sandbox flosum
Flosum8.3K vistas
Salesforce API Series: Release Management with the Metadata API webinar por Salesforce Developers
Salesforce API Series: Release Management with the Metadata API webinarSalesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinar
Salesforce Developers16.1K vistas
TDX19 - Accelerate DevOps with GitLab and Salesforce por Doug Ayers
TDX19 - Accelerate DevOps with GitLab and SalesforceTDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and Salesforce
Doug Ayers1.1K vistas
A holistic approach to scaling Agile por Ali Akbar
A holistic approach to scaling Agile A holistic approach to scaling Agile
A holistic approach to scaling Agile
Ali Akbar593 vistas
5 Essentials for Simplifiied Release Management and Continuous Delivery por Salesforce Developers
5 Essentials for Simplifiied Release Management and Continuous Delivery5 Essentials for Simplifiied Release Management and Continuous Delivery
5 Essentials for Simplifiied Release Management and Continuous Delivery
Salesforce Developers1.1K vistas
SPS Oslo : 10 things you should do with your O365 demo or dev tenant por Thomas Gölles
SPS Oslo : 10 things you should do with your O365 demo or dev tenant SPS Oslo : 10 things you should do with your O365 demo or dev tenant
SPS Oslo : 10 things you should do with your O365 demo or dev tenant
Thomas Gölles69 vistas
Master Your MarTech Migration: A Guide for Switching Web-Based Marketing and ... por ObservePoint
Master Your MarTech Migration: A Guide for Switching Web-Based Marketing and ...Master Your MarTech Migration: A Guide for Switching Web-Based Marketing and ...
Master Your MarTech Migration: A Guide for Switching Web-Based Marketing and ...
ObservePoint57 vistas
JavaScript Patterns and Practices from the Salesforce Experts por Salesforce Developers
JavaScript Patterns and Practices from the Salesforce ExpertsJavaScript Patterns and Practices from the Salesforce Experts
JavaScript Patterns and Practices from the Salesforce Experts
Salesforce Developers1.1K vistas
Visual Studio Enterprise 2015 Overview atidan por David J Rosenthal
Visual Studio Enterprise 2015 Overview   atidanVisual Studio Enterprise 2015 Overview   atidan
Visual Studio Enterprise 2015 Overview atidan
David J Rosenthal1.5K vistas

Destacado

The Ideal Salesforce Development Lifecycle por
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleJoshua Hoskins
10K vistas50 diapositivas
Apex Enterprise Patterns: Building Strong Foundations por
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong FoundationsSalesforce Developers
12.8K vistas48 diapositivas
Apex collection patterns por
Apex collection patternsApex collection patterns
Apex collection patternsSathishkumar Periyasamy
744 vistas15 diapositivas
Salesforce Coding techniques that keep your admins happy (DF13) por
Salesforce Coding techniques that keep your admins happy (DF13)Salesforce Coding techniques that keep your admins happy (DF13)
Salesforce Coding techniques that keep your admins happy (DF13)Roy Gilad
2.2K vistas32 diapositivas
Apex Design Patterns por
Apex Design PatternsApex Design Patterns
Apex Design PatternsSalesforce Developers
9.2K vistas58 diapositivas
Secure Development on the Salesforce Platform - Part 3 por
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3Mark Adcock
1.8K vistas53 diapositivas

Destacado(20)

The Ideal Salesforce Development Lifecycle por Joshua Hoskins
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development Lifecycle
Joshua Hoskins10K vistas
Apex Enterprise Patterns: Building Strong Foundations por Salesforce Developers
Apex Enterprise Patterns: Building Strong FoundationsApex Enterprise Patterns: Building Strong Foundations
Apex Enterprise Patterns: Building Strong Foundations
Salesforce Developers12.8K vistas
Salesforce Coding techniques that keep your admins happy (DF13) por Roy Gilad
Salesforce Coding techniques that keep your admins happy (DF13)Salesforce Coding techniques that keep your admins happy (DF13)
Salesforce Coding techniques that keep your admins happy (DF13)
Roy Gilad2.2K vistas
Secure Development on the Salesforce Platform - Part 3 por Mark Adcock
Secure Development on the Salesforce Platform - Part 3Secure Development on the Salesforce Platform - Part 3
Secure Development on the Salesforce Platform - Part 3
Mark Adcock1.8K vistas
Salesforce Release Management - Best Practices and Tools for Deployment por Salesforce Developers
Salesforce Release Management - Best Practices and Tools for DeploymentSalesforce Release Management - Best Practices and Tools for Deployment
Salesforce Release Management - Best Practices and Tools for Deployment
Salesforce Developers11.5K vistas
Secure Development on the Salesforce Platform - Part I por Salesforce Developers
Secure Development on the Salesforce Platform - Part ISecure Development on the Salesforce Platform - Part I
Secure Development on the Salesforce Platform - Part I
Salesforce Developers5.9K vistas
Salesforce.com process map (from lead to opportunity) por Roger Borges Grilo
Salesforce.com process map (from lead to opportunity)Salesforce.com process map (from lead to opportunity)
Salesforce.com process map (from lead to opportunity)
Roger Borges Grilo7.5K vistas
Secure Development on the Salesforce Platform - Part 2 por Salesforce Developers
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2
Salesforce Developers3.8K vistas
Enterprise Architecture Salesforce por Peter Doolan
Enterprise Architecture SalesforceEnterprise Architecture Salesforce
Enterprise Architecture Salesforce
Peter Doolan5.5K vistas
Introduction to Campaigns in Salesforce - Create, Manage, Launch, and Measure por Shell Black
Introduction to Campaigns in Salesforce - Create, Manage, Launch, and MeasureIntroduction to Campaigns in Salesforce - Create, Manage, Launch, and Measure
Introduction to Campaigns in Salesforce - Create, Manage, Launch, and Measure
Shell Black65.7K vistas
Salesforce com-architecture por drewz lin
Salesforce com-architectureSalesforce com-architecture
Salesforce com-architecture
drewz lin34.2K vistas
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins por Kashi Ahmed
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 minsBuild Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Kashi Ahmed10K vistas
Salesforce Presentation por Chetna Purohit
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
Chetna Purohit87.4K vistas
Salesforce CRM 7 domains of Success por Kevin Sherman
Salesforce CRM 7 domains of SuccessSalesforce CRM 7 domains of Success
Salesforce CRM 7 domains of Success
Kevin Sherman29.4K vistas

Similar a Development lifecycle guide (part 1)

Tech Insiders Salesforce: SFDX e Integración Continua por
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración ContinuaGlobant
159 vistas22 diapositivas
DevOps explained por
DevOps explainedDevOps explained
DevOps explainedJérôme Kehrli
10.6K vistas46 diapositivas
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto... por
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...CA Technologies
7.2K vistas15 diapositivas
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet por
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 BarnetSalesforce Admins
274 vistas19 diapositivas
Trank and branches for configuration management por
Trank and branches for configuration managementTrank and branches for configuration management
Trank and branches for configuration managementscmsupport
1.7K vistas5 diapositivas
Whats new in Enterprise 5.0 Product Suite por
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteMicro Focus
1.5K vistas16 diapositivas

Similar a Development lifecycle guide (part 1)(20)

Tech Insiders Salesforce: SFDX e Integración Continua por Globant
Tech Insiders Salesforce: SFDX e Integración ContinuaTech Insiders Salesforce: SFDX e Integración Continua
Tech Insiders Salesforce: SFDX e Integración Continua
Globant159 vistas
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto... por CA Technologies
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
Case Study: How CA’s IT Automated Salesforce Deployments with CA Release Auto...
CA Technologies7.2K vistas
Sandboxes: The Future of App Development by Evan Barnet & Pam Barnet por Salesforce Admins
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 Admins274 vistas
Trank and branches for configuration management por scmsupport
Trank and branches for configuration managementTrank and branches for configuration management
Trank and branches for configuration management
scmsupport1.7K vistas
Whats new in Enterprise 5.0 Product Suite por Micro Focus
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product Suite
Micro Focus 1.5K vistas
Application Lifecycle Management (ALM).pdf por Amitesh Raikwar
Application Lifecycle Management (ALM).pdfApplication Lifecycle Management (ALM).pdf
Application Lifecycle Management (ALM).pdf
Amitesh Raikwar162 vistas
Dev ops developer (session 3) por MSDEVMTL
Dev ops developer (session 3)Dev ops developer (session 3)
Dev ops developer (session 3)
MSDEVMTL718 vistas
Configure an Integrated Exchange, Lync, and SharePoint Test Lab por Vinh Nguyen
Configure an Integrated Exchange, Lync, and SharePoint Test LabConfigure an Integrated Exchange, Lync, and SharePoint Test Lab
Configure an Integrated Exchange, Lync, and SharePoint Test Lab
Vinh Nguyen4.8K vistas
Continuous Everything por Andrea Tino
Continuous EverythingContinuous Everything
Continuous Everything
Andrea Tino553 vistas
Star team 13 datasheet(1) por Noel_Slane
Star team 13 datasheet(1)Star team 13 datasheet(1)
Star team 13 datasheet(1)
Noel_Slane357 vistas
Introduction to testlink por Sumara Khan
Introduction to testlinkIntroduction to testlink
Introduction to testlink
Sumara Khan2.8K vistas
DevOps and Build Automation por Heiswayi Nrird
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird849 vistas

Último

VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueShapeBlue
207 vistas54 diapositivas
The Power of Generative AI in Accelerating No Code Adoption.pdf por
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdfSaeed Al Dhaheri
39 vistas18 diapositivas
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT por
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITShapeBlue
208 vistas8 diapositivas
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...ShapeBlue
183 vistas18 diapositivas
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... por
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...ShapeBlue
178 vistas15 diapositivas
CryptoBotsAI por
CryptoBotsAICryptoBotsAI
CryptoBotsAIchandureddyvadala199
42 vistas5 diapositivas

Último(20)

VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue207 vistas
The Power of Generative AI in Accelerating No Code Adoption.pdf por Saeed Al Dhaheri
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdf
Saeed Al Dhaheri39 vistas
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT por ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue208 vistas
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue183 vistas
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... por ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue178 vistas
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De... por Moses Kemibaro
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Don’t Make A Human Do A Robot’s Job! : 6 Reasons Why AI Will Save Us & Not De...
Moses Kemibaro35 vistas
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... por TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc176 vistas
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... por ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue171 vistas
Business Analyst Series 2023 - Week 4 Session 8 por DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 vistas
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue por ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue137 vistas
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 por BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada44 vistas
NTGapps NTG LowCode Platform por Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu437 vistas
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue por ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue152 vistas
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... por Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Jasper Oosterveld35 vistas
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... por ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue141 vistas
"Package management in monorepos", Zoltan Kochan por Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 vistas
Initiating and Advancing Your Strategic GIS Governance Strategy por Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software184 vistas
State of the Union - Rohit Yadav - Apache CloudStack por ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue303 vistas

Development lifecycle guide (part 1)

  • 2. ABDELHAKIM MOUTTAQUI Chef de projets Sénior, SIWAY @adbelhakim @casasfdug @SiWay_WebAgency https://ma.linkedin.com/in/abdelhakimmouttaqui https://www.linkedin.com/company/siway http://abdelhakimmouttaqui.blogspot.com/ abdelhakim.mouttaqui@siway.fr contact@siway.fr
  • 3. SIWAY - VOTRE INTÉGRATEUR CERTIFIE SALESFORCE DEVELOPMENT LIFECYCLE GUIDE (PART 1) Sommaire : 1. Introduction to the Force.com Development Lifecycle 2. Development Environments 3. Development Tools
  • 4. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE Developing in a Production Organization Typical development lifecycle : 1. Plan functional requirements 2. Develop using Salesforce Web tools, using profiles to hide your changes until they’re ready to deploy. 3. Update profiles to reveal your changes to the appropriate users. 4. Notify end users of changes.
  • 5. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE Developing with Sandbox Typical development lifecycle: 1. Create a development environment. 2. Develop using Salesforce Web and local tools. 3. Test within the development environment. 4. Replicate production changes in the development environment. 5. Deploy what you’ve developed to your production organization. Typical development projects: •New custom objects, tabs, and applications •Integrations with other systems •Apps involving Apex, Visualforce, workflow, or new validation rules
  • 6. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE About Sandbox Organizations A sandbox is a copy of your production organization. Sandboxes contain the same metadata as your production organization. That metadata, as well as data in the case of a full sandbox, is copied to a new organization, isolated from your production organization. Operations you perform in your sandbox don’t affect your production organization. Sandboxes are available in : • Enterprise • Unlimited • and Performance Editions. With Unlimited and Performance Edition, you can create multiple sandbox copies of different types. Each sandbox instance is isolated from every other sandbox instance, just as they are from production.
  • 7. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE About Migrating Changes between Organizations A deployment connection alone doesn't enable change sets to be sent between organizations. Each organization must be authorized to send and receive change sets. This added level of security enforces code promotion paths and keeps organizations' setup metadata from being overwritten by mistake.
  • 8. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 1. INTRODUCTION TO THE FORCE.COM DEVELOPMENT LIFECYCLE DEMO
  • 9. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 2. DEVELOPMENT ENVIRONMENTS Developing on the Force.com platform requires a development environment, a place where you can work without affecting other users. When using a single development environment for development and testing, you must stop development to test, and you can only resume development after you deploy. A more sophisticated development model allows development to continue while testing and deployment take place. In this case you need two isolated environments, one for development and one for testing. Isolating Development and Testing Typical development lifecycle: 1. Create a development environment. 2. Develop using Salesforce Web and local tools. 3. Create a testing environment. 4. Migrate changes from development environment to testing environment. 5. Test. 6. Replicate production changes in other environments. 7. Deploy what you’ve developed to your production organization. Typical development projects: •New custom objects, tabs, and applications •Integrations with other systems •Apps involving workflow or new validation rules
  • 10. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 2. DEVELOPMENT ENVIRONMENTS Developing Multiple Projects with Integration, Testing, and Staging UAT : user-acceptance testing Typical development lifecycle: 1. Create development environments. 2. Develop using Salesforce Web and local tools. 3. Create testing environments, including UAT and integration. 4. Migrate changes from development environment to integration environment. 5. Test. 6. Migrate changes from integration environment to UAT environment. 7. Perform user-acceptance tests. 8. Migrate changes from UAT environment to staging environment. 9. Replicate production changes in staging environment. 10.Schedule the release Typical development projects: • Concurrent development of new applications in multiple environments • Projects that require team development
  • 11. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 2. DEVELOPMENT ENVIRONMENTS About Types of Development Environments There are two types of development environments: sandbox organizations and Developer Edition organizations Sandbox type Description Developer Developer sandboxes copy customization (metadata), but don't copy production data, into a separate environment for coding and testing. Developer Pro Developer Pro sandboxes copy customization (metadata), but don't copy production data, into a separate environment for coding and testing. Developer Pro has more storage than a Developer sandbox. It includes a number of Developer sandboxes, depending on the edition of your production organization. Partial Copy A Partial Copy sandbox is a Developer sandbox plus the data that you define in a sandbox template. Full Full sandboxes copy your entire production organization and all its data, including standard and custom object records, documents, and attachments. Use the sandbox to code and test changes, and to train your team about the changes. You can refresh a Full sandbox every 29 days.
  • 12. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 2. DEVELOPMENT ENVIRONMENTS Sandbox Uses Use Type of SandBox Note Development Developer or Developer Pro sandbox Full sandboxes are more costly in terms of create and refresh time, and would also give developers access to data that might not be appropriate Testing •Unit tests and Apex tests: Developer or Developer Pro sandbox •Feature tests and regression tests: Partial Copy sandbox (with a standard data set loaded) Testing external integrations Full sandbox is best when an external system expects full production data to be present. Partial Copy sandboxes may be appropriate in special cases when you want to use sample data or a subset of your actual data. Works well if you’re using external IDs Staging and user- acceptance testing Full sandbox is best for validation of new applications against production configuration and data. Partial Copy sandboxes are appropriate if testing against a subset of production data is acceptable, for example, for regional tests. Production debugging Full sandbox
  • 13. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 2. DEVELOPMENT ENVIRONMENTS Sandbox Considerations and Limitations Sandbox functionality is not identical to production, and you will need to plan for the differences as well as for the copy process itself. Consider the following when creating or refreshing a sandbox: • Creating or refreshing a sandbox copy is a long-running operation that might complete in minutes, days, or even more than a week. • Refreshing a sandbox deletes and recreates the sandbox as a new copy of the production organization. • Setup and data changes to your production organization during the sandbox creation and refresh operations might result in inconsistencies in your sandbox. Therefore, it’s best to freeze or minimize changes to your production organization while creating or refreshing a sandbox. The following features are disabled and cannot be enabled in sandboxes: • Contract expiration warnings • Case escalation Contract expiration warnings and case escalation are disabled because they automatically send email to contacts, customers, and production organization users. • Subscription summary • Data exports (by clicking Export Now or Schedule Export on the Weekly Export Service page in Setup) • The ability to create Salesforce sandboxes • The ability to copy email service addresses that you create in your sandbox to your production organization • The ability to publish Site.com sites
  • 14. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 2. DEVELOPMENT ENVIRONMENTS Updating Environmental Dependencies Once you create a sandbox, configure it to update environmental dependencies and merge project contents before beginning development. Environmental Dependency Details Login privileges If your developers and testers do not have logins on production, or do not have the necessary privileges, you need to give them the necessary access in the development environment. Email addresses When you create a sandbox, email addresses are automatically changed so that email alerts and other automatic notifications are not sent from the sandbox during development. When your developers and testers log into the sandbox, they must change their email address back to a real address to receive email messages sent from the sandbox. Email recipients If you want to test outbound email for features such as escalations or dashboards, you must update the list of recipients, because these lists are removed when the sandbox is created to prevent unnecessary emails. External URLs If your production organization is integrated with external systems, you will probably not want your sandbox copy to communicate with the production versions of those external systems, so as not to mix production and non-production data. For example, if you use outbound messaging or web service callouts, you will want to update the URLs called by those services to point to your external development environment(s) for those applications. Likewise, since sandboxes run on a different instance than the production organization, to test integrations with sandbox you will need to change the API endpoint hostname from login.salesforce.com to test.salesforce.com Hard-coded URLs In general, when linking from one Force.com page to another, the links should be relative (omitting the hostname) rather than absolute, and dynamic (looking up the ID, record, or page by name) rather than static. This allows you to migrate the URLs between different organizations, which might have different hostnames or record IDs. If your application contains hard-coded URLs from one Force.com page to another, they might break when they are clicked from the sandbox or, worse, take a user who thinks he is in a development environment back to the production organization. Hard-coded IDs Some components are commonly accessed via their ID, such as RecordTypes. When you create a sandbox copy, code that uses these IDs to reference these components continues to work because production IDs are retained by the sandbox copy. However, the reverse is not true— migrating from sandbox to production (or between any two organizations) via metadata maintains components' names, but if the component does not exist in the target organization, a new ID will be generated. Therefore, migrating code that contains a hard-coded ID can cause the code to break. As a best practice, wherever possible, you should obtain a component's ID by querying for it by name. Existing projects If you have existing development projects, you need to merge that work into the new development environment.
  • 15. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 2. DEVELOPMENT ENVIRONMENTS Creating User Templates A developer user template is an abstract user that has permissions required to develop on the sandbox (for example, the “Modify All Data” permission), but is not active on your production organization. After you create or refresh a sandbox, you activate the developer user in the sandbox and assign it to the individual who will be developing there. To create a developer template: 1. Create a new user on your production organization. 2. Edit the user to give it the necessary permissions. 3. Deactivate the user on the production organization. 4. Create or refresh a sandbox. 5. Activate the user on the sandbox. 6. Optionally change the email address, password, or other environmental settings Your sandbox has the same number of licenses as production, but it is unlikely that all of your users will log into it. When you create or refresh a sandbox, the same users who are active in production are active in the sandbox, so if all licenses are occupied you will need to deactivate an active user to activate the inactive developer user. Just make sure that the user you're deactivating in sandbox is one of the many production users who will never log into that environment. Likewise, you should make your production developer user template inactive on the production organization, so it doesn't consume a paid production license
  • 16. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 2. DEVELOPMENT ENVIRONMENTS Managing Sandboxes To manage a sandbox, from Setup enter Sandboxes in the Quick Find box, then select Sandboxes. A list of your existing sandboxes displays. • Click New Sandbox to create a new sandbox. Salesforce deactivates the New Sandbox button when an organization reaches its sandbox limit. If necessary, contact Salesforce to order more sandboxes for your organization. • Click Sandbox History to see a log of your sandbox refresh history, including when sandboxes were created and who created them. • Click Refresh to replace an existing sandbox with a new copy. Salesforce only displays the Refresh link for sandboxes that are eligible for refreshing, which varies for different types of sandboxes. Your existing copy of this sandbox remains available while you wait for the refresh to complete. The refreshed copy is inactive until you activate it. • Click Activate to activate a refreshed sandbox. You must activate your refreshed sandbox before you can access it. Salesforce only displays this option for sandboxes that are not activated. • Click Del to delete a sandbox. The delete option is only available if your organization exceeds its sandbox limit. • Administrators can click Login to log into a sandbox as a user. Salesforce only displays this option for active sandboxes. Users can log in to the sandbox at https://test.salesforce.com by appending .sandbox_name to their Salesforce usernames. For example, if a username for a production organization is user1@acme.com, and the sandbox is named “test,” the modified username to log in to the sandbox is user1@acme.com.test. • Click on a sandbox name to view details about the sandbox, including the sandbox type and when it was created
  • 17. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 3. DEVELOPMENT TOOLS Regardless of your role in the development process, it is important to understand at a high level how all of the Force.com development tools operate, and the development tasks that overlap each other. The Force.com IDE is the best tool for team development, migration of selected components, and writing Apex. The Force.com Migration Tool, on the other hand, is useful for migrating large scale or repetitive changes between environments. These and other Force.com tools are examined in the following sections
  • 18. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 3. DEVELOPMENT TOOLS Force.com App Builder Tools The Salesforce user interface makes application development easy with point-and-click app builder tools. From Setup, you can modify the metadata of your organization
  • 19. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 3. DEVELOPMENT TOOLS Force.com IDE The Force.com IDE is an integrated development environment for developing applications on the Force.com platform using Apex, Visualforce, and metadata components Metadata API can deploy and retrieve up to 10,000 files or 400 MB at one time. If you need to retrieve or deploy more than either of these limits, you must do so in batches.
  • 20. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 3. DEVELOPMENT TOOLS About Metadata API Metadata API provides two parts that work in conjunction: a rich and powerful metadata model and an application programming interface (API). The metadata model describes the components in your organization. For example, Salesforce custom objects and their fields can be controlled by manipulating the XML files provided by Metadata API. Metadata API also includes a set of Web service methods that provide programmatic access to the configuration and source of your metadata components. In other words, it describes what you can do with those components, such as create an object or deploy one. If it helps you to separate them into two parts, you can think of the metadata components as nouns, and the API calls as verbs. With Metadata API you can: • Work with setup configuration as metadata files. • Copy, paste, merge, and manipulate metadata files using familiar tools, such as text editors, IDEs, batch scripts, and source control systems. • Migrate configuration changes between organizations, either between two development environments or from development to production. • Create your own tools for managing organization and application metadata
  • 21. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 3. DEVELOPMENT TOOLS Force.com Migration Tool The Force.com Migration Tool is a Java/Ant-based command-line utility for moving metadata between a local directory and a Salesforce organization. The Force.com Migration Tool allows you to migrate metadata between unrelated organizations, so in that sense it’s more powerful than change sets. Unlike the Force.com IDE, the Force.com Migration Tool has no graphical user interface. You choose the components you want to deploy, the server address, and other deployment details by editing control files in a text editor and using command-line arguments. Most people will find the graphical user interface of the Force.com IDE easier to use than editing text files and providing arguments on the command line. However, the Force.com Migration Tool is especially useful in the following scenarios: • Development projects where you need to populate a test environment with large amounts of setup changes—making changes with an automated script is far faster than entering them by hand. • Deployments where you need to change the contents of files between organizations—for example, if you want to change the Running User on a dashboard, you can retrieve the Running User from organization A, make a change, and then deploy the Running User to organization B. If you tried to do this in the Force.com IDE, the IDE would force you to save the change back to organization A (where the organization B user probably does not exist) before launching the Deploy Wizard to deploy to organization B. The Force.com Migration Tool gives you complete control over the retrieve() and deploy() commands; editing and saving a file on your local file system does not change the metadata in any organization until you choose to deploy it. • Multi-stage release processes—a typical development process requires iterative building, testing, and staging before releasing to a production environment. Scripted retrieval and deployment of components can make this process much more efficient. • Repetitive deployment using the same parameters—you can retrieve metadata from your organization, make changes, and deploy your changes to an organization. If you need to repeat this process, it is as simple as calling the same deployment target again. • When migration from staging to production is done by highly technical resources—anyone who prefers deploying in a scripting environment will find the Force.com Migration Tool a familiar process.
  • 22. DEVELOPMENT LIFECYCLE GUIDE (PART 1) 3. DEVELOPMENT TOOLS Data Loader Data Loader is a client application for the bulk import or export of data. Use it to insert, update, delete, or export Salesforce records. Use Web-based importing when: • You are loading less than 50,000 records. • The object you need to import is supported by import wizards. To see what import wizards are available and thus what objects they support, from Setup, enter Data Management in the Quick Find box, then select Data Management. • You want to prevent duplicates by uploading records according to account name and site, contact email address, or lead email address. Use Data Loader when: • You need to load 50,000 to 5,000,000 records. Data Loader is supported for loads of up to 5 million records. If you need to load more than 5 million records, we recommend you work with a Salesforce partner or visit the App Exchange for a suitable partner product. • You need to load into an object that is not yet supported by the import wizards. • You want to schedule regular data loads, such as nightly imports. • You want to export your data for backup purposes.
  • 23. Q & A
  • 25. CONTACT www.siway.fr Tel Maroc : 05 22 26 99 97 contact@siway.fr

Notas del editor

  1. Développer dans l’ORG de Prod: La façon la plus rapide pour developper des nouvelles fonctionalités c’est de costomiser l’org de prod en utilisant des interfaces utilisateurs WEB. Vous pouvez créer des nouveaux objets et des nouvelles applications on utilisant l’outil déclaratif. Dans ce sénario, il n’y a pas besoin de séparer l’environement de DEV et de TEST. Seulement vous ne pouvez pas écrire du code APEX dans une Org de production. Cycle de développement typique : 1- Planifiez exigences fonctionnelles 2- Développer en utilisant Salesforce Web tools, en utilisant les profils pour cacher vos changements jusqu'à ce qu'ils soient prêts à se déployer. 3- Mettez à jour les "profils" pour révéler vos modifications aux utilisateurs appropriés. 4- Prévenez les utilisateurs finaux de changements. Un administrateur peut developper des nouveaux tableaux de bord, Rapport, et templates email ou ajouter des nouveaux champs a des objets . Mais lorsqu’il s’agit d’un développement plus complex et il y a plusieurs membres qui sont impliqués, dans ce cas on doit adopter un autre scénario.
  2. Developper dans les SandBox : Pour des développement plus complexe, on doit séparer l’environement de DEV de celui de la Prod, dans ce cas tous le développement et les tests doivent se faire dans la Sandbox et après le changement sera livré dans la Prod. Si vous êtes entrain de faire du développement dans la production et dans la Sandbox simultanément, il faut noter ces changement et les dupliquer dans la Sandbox. Ceci est important, praceque la sandBox ne se met pas à jour automatiquement et vous pouvez écraser vos modifications dans le cas d’une livraison à partir de la Sandbox. Cycle de développement typique : 1 - Créer un environement de développement 2 - Développer en utilisant les outils web et local de Salesforce. 3 - Faire des tests dans la sandbox 4 - Dupliquer les changements faites dans la production dans la sandbox 5 - Déployer ce que vous avez développer dans la SandBox dans la prod. Projets de développement typiques: Nouveaux objets personalisé, onglets, et applications Intégration avec d’autres systèmes Applications qui utilisent Apex, VisualForce, Workflow, ou nouveau règle de validation.
  3. A propos de la Sandbox : Une sandbox est une copie de l’Org de prod, elle contient les mêmes MetaData que la production (information de configuration : les types des objets personnalisé et les champs, les applications, et les workflow) Ces information ainsi que les données dans le cas d’une Sandbox Full, seront copie dans la sandbox Les opérations que vous faites dans la Sandbox n’impacte pas l’org de Prod. Les Sandbox sont disponible dans les éditions : Entreprise, unlimited, et Performance. Dans unlimited, et Performance vous pouvez créer plusieurs Sandbox de différent types. Chaque Sandbox est isolé de toutes les autres Sandbox, exactement comme la production.
  4. La manière la plus facile pour envoyer les modifications d’une organisation à une autre, c’est d’utiliser les ensembles de changement « Change Set » Pour envoyer les changements, il faut créer un ensemble de changement sortant « outbound change set », une fois que c’est fait, Vous trouvez l’envoi dans l’ensemble de changement entrant « inbound change set ». Les ensembles de changement contient seulement les modifications que vous pouvez faire dans le menu configuration, et il ne support pas tous les types de composants qui peuvent être modifier. Vous ne pouvez pas utiliser les ensembles de changement pour renommer ou supprimer les composants. Si vous faites des modifications qui ne sont pas supportés par les ensembles de changement, dans ce cas il faut envoyer manuellement en répétant les étapes que vous avez suivi lors de la modification. L’envoi des ensembles de changement requis une connexion de déploiement entre deux organisations, ils ne peuvent envoyés que entre deux organisations qui sont affiliés à une org de prod. Par ex : une Org de prod et une Sandbox, deux sandBoxs créer à partir de la même org de prod. La connexion de déploiment n’autorise pas tout seul l’envoi des ensembles de changement, chaque org doit autorisé l’envoi et la réception des ensembles d’autorisation.
  5. Create a Developer Sandbox Use a developer sandbox to ensure that your changes are isolated from production until you’re ready to deploy them. Sandboxes are only available in Enterprise, Unlimited, and Performance editions. 1. From Setup, enter Sandboxes in the Quick Find box, then select Sandboxes. 2. Click New Sandbox. 3. Enter a name and description for the sandbox. 4. Select Developer for the type of sandbox. 5. Click Start Copy. The process can take a while, depending on the size of your organization. You’ll receive a notification email when your sandbox has completed copying. 6. Click the link in the notification email to access your sandbox. You can log into the sandbox at test.salesforce.com/login.jsp by appending .sandbox_name to your username. For example, if your username for your production organization is user1@acme.com, then your username for a sandbox named “test” is user1@acme.com.test. Note: Salesforce automatically changes sandbox usernames but does not change passwords. If you’d like to experiment with change sets before using them for a development project, create a test custom object with a custom field in your developer sandbox now. You can practice deploying these customizations in the next steps, and delete them when you’re finished. Authorize a Deployment Connection Before you can receive change sets from a sandbox or other organization, authorize a deployment connection in the organization that receives the changes. 1. Log into the organization that’ll receive inbound change sets. Usually this is the production organization associated with your sandbox. 2. From Setup, enter Deployment in the Quick Find box, then select Deployment Settings. 3. Click Edit next to the organization from which you want to receive outbound change sets. Usually this is your sandbox. 4. Select Allow Inbound Changes and click Save. Create and Upload an Outbound Change Set Typically, you create an outbound change set in a sandbox organization and deploy it to production. But depending on your development lifecycle, you might choose to migrate changes in either direction between related organizations. 1. From Setup, enter Outbound Change Sets in the Quick Find box, then select Outbound Change Sets. 2. Click New. 3. Enter a name for your change set and click Save. 4. In the Change Set Components section, click Add. 5. Choose the type of component (for example, Custom Object or Custom Field), the components you want to add, and click Add To Change Set. If you are experimenting with a test custom object and custom field, try adding just one of them to the change set first. 6. Click View/Add Dependencies to see whether the components you’ve added to the change set are dependent on other customizations. In the case of the test custom object and custom field, the related component and page layout will both be listed. 7. Select the dependent components you want to add and click Add To Change Set. 8. Click Upload and choose your target organization. The outbound change set detail page displays a message and you get an email notification when the upload is complete. Now log into the target organization, where you can see the inbound change set. Validate an Inbound Change Set Validating a change set allows you to see the success or failure messages without committing the changes. 1. From Setup, enter Inbound Change Sets in the Quick Find box, then select Inbound Change Sets. 2. Click the name of a change set. 3. Click Validate. Note: You can't make any changes to your organization while a test deployment is in progress. 4. After the validation completes, click View Results. If you receive any error messages, resolve them before you deploy. The most common causes of errors are dependent components that aren’t included in the change set and Apex test failures. Deploy an Inbound Change Set Deploying a change set commits the changes it contains to the target organization. 1. From Setup, enter Inbound Change Sets in the Quick Find box, then select Inbound Change Sets. 2. In the Change Sets Awaiting Deployment list, click the name of the change set you want to deploy. 3. Click Deploy. 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.
  6. Developpé dans la plateforme Force.com requis un environnement de Dev, un endroit ou on peut faire les modifications sans impacter d’autres utilisateurs. Dans le développement de logiciels traditionnels, un environnement de développement est un peu plus d'un espace pour appeler vos propres Fonctionnalités. Mais sur la plate-forme Force.com, chaque environnement de développement est une Salesforce organisation entièrement fonctionnel. Dans la démo on a utilisé un seul environnement de DEV « Developer SandBox » pour créer des modification isolé de la production. Dans des scénarios plus complexe, on peut avoir plusieurs Sandboxs pour plusieurs raisons : Développment Intégration Testing Formation (Training) Il y a aussi plusieurs types d’environnement de DEV pour plusieurs utilisations. Quand vous utilisé un seul environnement pour de DEV et les Tests, il faut que vous arrêtez de développer pour tester, et vous ne pouvez reprendre le développement que après avoir déployer les changements. Un scénario plus sophistiqué permet de continue le développement pendant que les tests et le déploiement prennent place. Dans ce cas vous avez besoin de séparer les deux environnements, un pour le DEV et l’autre pour les tests et les deploiements. Séparer le DEV du TEST : Avoir des environnements de développement et de test séparées augmente la complexité du processus de développement, et relève une question: d'où viennent les changements ? Imaginez que vous avez une application développée puis les modifications sont migrées sur votre environnement de test. Pendant le test, vous trouvez que certains changements doivent appliquer pour que vous puissiez déployer sur la production. Est-ce que vous allez faire ces modifications dans l’environnement de test ou bien revenir dans l’environnement de DEV est recommencer le process ? Si vous avez que deux environements, vous pourriez vouloir faire ces changements dans votre organisation de test, parce que c’est plus rapide et votre sandbox de développement pourrait avoir déjà changé au point où vous ne pouvez pas démarrer plus facilement. Toutefois, vous aurez toujours envie de répliquer les changements effectués dans votre environnement de test vers votre environnement de développement, afin d'assurer la prochaine fois que vous faites la migration du développement à tester que le correctif est conservée.
  7. Si vous avez plusieurs développeurs et plus qu’un seule projet en cours de développement qui doivent être réalisé en même temps, dans ce cas vous auriez besoin d’un environnement de test d’intégration, pour être sûre que les développements séparés se fusionnent entre eux sans conflits. Dans le future, vous llez avoir besoin de « user-acceptance testing » (tests d'acceptation utilisateur) afin de déterminer si les exigences de conception d'origine sont remplies. Un processus de développement plus élaboré peut également contenir un environnement de mise en scène (staging) où vous vous assurez que le déploiement à la production se passe exactement comme prévu. Dans un tel scénario de développement, vous pourriez vous demander où faire des changements de code. Si une fonction échoue à un test lors du déploiement en production, fixez-vous la fonction dans l'organisation où il a échoué, ou démarrer le processus à zéro? Comme la complexité de votre processus de développement augmente, vous trouverez que la fixation des choses au fur et à mesure n’est pas un bon modèle. Au lieu de cela, vous aurez envie de faire toutes les corrections dans une organisation de développement et de suivre le processus pour la migration de changement vers la production.
  8. Sandboxes sont des nouvelles organisations copiées à partir d’une Org de Prod Une Sandbox peut avoir ou non tous les données de l’org de prod, ça depend de l’utilisation. Pour ce qui est du DEV, vous allez avoir besoin de d’un petit jeux de données, afin d’être sûre que ce que vous développez marche. Pour QA Testing (Quality Assurance Testing), et spécialement les tests de regression vous allez avoir besoin d’un jeux de données important qui ne soit pas changé tous le temps. Pour ce qui du pré-deploiement “Staging”, vous allez avoir besoin d’une SandBox similaire de l’ORG de prod et qui contient tous les données. Seulement le SandBox “Full” copie tous les données présent dans l’org de prod, mais vous pouvez utiliser “import Wizard” ou “Data loader” afin d’ajouter les données dans une Sandbox. L’autre Type de l’environement de développement présent dans la plate-Forme Force.com est “Developer Edition”. Developer Edition fournit un accès gratuit à de nombreuses fonctionnalités exclusives disponibles avec les éditions Enterprise, illimité, et performance. Vous Avez un accès FULL à la plate-forme Force.com et API, ce qui vous permet d’étendre Salesforce, l’intégrer avec d’autres applications, et développer de nouveaux outils et APP. Developer Edition sont principalement utilisés par les éditeurs de logiciels indépendants (ISV) qui créent des applications pour la distribution sur AppExchange.
  9. Si vous disposez de plusieurs SandBoxs disponible pour votre organisation, prennez les facteurs suivants en compte lors de la planification, lesquels utiliser à quelles fins.
  10. Les fonctionnalités de la Sandbox ne sont pas identique au celles de la production, et il faut prendre ceci en compte ainsi que le processus de copie des données. Il faut prendre en compte les points suivants lors de la création ou lors de la mise à jour d’une Sandbox : La création ou la mise à jour d’une Sandbox est une opération qui prend un temps considérable, il peuvent prendre des minutes, des jours ou même plus qu’une semaine. Plusieurs facteurs sont pris en charge ( le nombre de personnalisation, la taille des données et la configuration (Pour les full copies), le nombre des objets, et le temps de chargement du serveur). Aussi le rafraichissement des Sandbox est gérer dans les fils d’attente, donc votre demande peut ne pas commence instantanément. Donc il est préférable de planifier et autoriser au minimum les valeurs optionnel. Considérez ce qui suit lors de la création ou de l'actualisation de la Sandbox : Le rafraichissement de la Sandbox supprime et recrée la Sandbox comme étant une nouvelle copie de l’org de prod. En effet, cela annule toute modification d'accès manuels que vous avez effectuées. Si vous avez créé des utilisateurs dans la sandBox, ils existent plus; Si vous avez modifiez les autorisation et les paramètres d’accès, ils reviennent aux valeurs de l’org de prod. Cela signifie que, après un rafraîchissement, les modifications d'accès que vous avez effectuées doivent être répétés dans la nouvelle copie. Pour éviter ce processus, vous pouvez créer des modèles d'utilisateurs dans votre organisation de la production, puis les activer dans la SandBox. Les opérations de configuration et les modifications de données à votre organisation de la production lors de la création de la Sandbox pourraient entraîner des incohérences dans votre bac à sable. Par conséquent, il est préférable de geler ou de minimiser les changements à votre organisation de la production lors de la création de la Sandbox. Les fonctions suivantes sont désactivées et ne peuvent pas être activées dans les Sandbox : Avertissements d'expiration du contrat Remonté les avertissements d’éxpiration des contrats et la remonté des CAS sont désactivées parcequ’il envoi automatiquement des emails aux contacts, clients, et les utilisateurs de l’Org de prod. Résumé abonnement Les exportations de données (en cliquant sur Exporter maintenant ou à l'annexe d'exportation sur la page Export Service hebdomadaire dans la configuration) La possibilité de créer des Sandboxs La possibilité de copier les adresses de services de messagerie que vous créez dans votre Sandbox à votre organisation de la production La possibilité de publier des sites Site.com
  11. Une fois que vous avez crée la SandBox, configurer là pour mettre à jour les dépendances de l'environnement et de fusionner le contenu du projet avant de commencer le développement. Si vous avez des environnements de développement multiples, vous devez fusionner vos changements avec les changements des autres membres de l'équipe dans un environnement de développement unique en cours de projet. Durant cette phase, vous devez suivre les changements dans tous les environnements de sorte que vous pouvez fusionner ces changements avec succès. Dépendances de l'environnement sont des paramètres qui sont différentes entre un environnement de développement et l'organisation de la production. Lorsque vous travaillez dans un environnement de développement, vous devez mettre à jour qui a accès à quoi, tourner certaines caractéristiques ou désactiver, et mettre à jour les adresses des systèmes internes et externes de sorte qu'ils pointent à l'environnement de développement à la place de la production. L'inverse est également vrai lorsque vous déployez à la production, vous pourriez avoir besoin de mettre à jour certains paramètres que vous avez utilisés dans le développement de sorte qu'ils marchent dans la production.
  12. L’actualisation d’une Sandbox, créer une nouvelle copie de la production. Ce qui veut dire que tous les autorisations utilisateurs sont copié à partir de l’org de Prod, et les changements que vous avez fait dans la sandbox avant l’actualisation doivent être refait. Si vous avez plusieurs Sandboxs, pensez à créer un template utilisateur « Developer user Template » dans votre organisation de prod. Un template utilisateur est un utilisateur abstrait qui a tout les permissions requis dans la sandBox de DEV (par exemple « Modify all Data » autorisation ), mais il n’est pas active dans l’organisation de prod. Après la création ou l’actualisation de la Sandbox, vous activez l’utilisateur developpeur dans la Sandbox et l’assigner à l’individu qui va développer dans la Sandbox.
  13. Indépendamment de votre rôle dans le processus de développement, il est important de comprendre au plus haut niveau, comment les outils de développement de Force.com opèrent, et les tâches de développement qui se chevauchent. La gestion de livraison effectue le suivi de l'évolution de chaque organisation, et la connaissance des outils de suivi des modifications rend la tâche plus facile. Vous êtes probablement familiarisé avec la création une application en utilisant Salesforce Web user interface. En revanche le développement Basé sur les projets nécessite l’utilisation des outils de bureau. L’IDE Froce.com est le meilleur outils pour une équipe de développeurs. L’outils de migration Force.com, est utile pour la migration des changements à grande échelle ou répétitives entre les environnements. Ceux là et d'autres outils Force.com sont examinés dans les sections suivantes.
  14. Bien qu'il existe de nombreux outils que vous pouvez utiliser pour créer et modifier les composants de l'application, l'interface Web est le meilleur endroit pour commencer. L'interface utilisateur Salesforce permet le développement d'applications facile avec point-and-cliquez sur Outils app constructeur. À partir du menu « Configuration », vous pouvez modifier les métadonnées de votre organisation. Parce que l'interface Web est si facile à utiliser, les administrateurs font souvent des modifications directement dans l'organisation de la production, plutôt que d'utiliser un environnement de développement. Ceci est idéal pour les utilisateurs qui ont besoin d’une fonctionnalité immédiatement, mais le changement dans la production doit être suivi afin que vous pouvez faire migrer les mêmes fonctionnalités dans les sandboxs.
  15. Le Force.com IDE est un environnement de développement intégré pour le développement d'applications sur la plate-forme Force.com en utilisant Apex, Visualforce, et des composants de métadonnées. Conçu pour les développeurs et les équipes de développement, l'IDE fournit des outils pour accélérer le développement de l'application Force.com. Ces outils comprennent des assistants, des éditeurs de code source, les outils d'exécution de test, d’aide au déploiement, aide intégrée et un débogueur interactif. Le Force.com IDE est construit au-dessus de l'open-source Eclipse Platform et est disponible en tant que plug-in. Le plug-in est open source. Force.com Développement axée sur les projets, exploite les outils et les processus de développement de logiciels traditionnels, tels que les environnements de développement (SandBox), environnements de développement intégrés (IDE) et les systèmes de contrôle de source. La plate-forme Force.com permet un développement axé sur les projets en utilisant des fichiers à base de texte pour représenter les différentes composantes d'une organisation Salesforce. Ces fichiers sont facilement transportés, stockés et peuvent être versionné dans un système de contrôle de code source, et de permettre le développement traditionnelle. Tout cela est rendu possible par API métadonnées. (MetaData API). Un projet Force.com est une collection de fichiers de métadonnées réunis afin que vous puissiez travailler avec les fichiers localement. Selon vos besoins, vous pouvez créer un projet Force.com qui contient un seul composant ou chaque composant dans votre organisation. Le dernier cas, la récupération de chaque composant de votre organisation, n’est toujours pas le meilleur choix car il peut rendre le déploiement, un processus plus long et plus difficile. Une bonne façon de structurer votre projet est de penser à ce que vous voulez accomplir, puis créer un projet que pour ces composants. Vous pouvez modifier ultérieurement le projet si vous avez des composants que vous souhaitez ajouter ou supprimer.
  16. Lors de l'importation des données, Data Loader lit, extraits, et charge les données de valeurs séparées par des virgules (CSV) ou à partir d'une connexion de base de données. Lors de l'exportation des données, il affiche les fichiers CSV. Pour importer des données, vous pouvez utiliser soit les assistants d'importation ou Data Loader. Data Loader complète les assistants d'importation basés sur le Web qui sont accessibles à partir du menu de configuration de l'application en ligne.