Copyright © 2019 Accenture. All rights reserved.1
process design
solution architecture
system integration
data management
ABOUT ACCENTURE
Copyright © 2019 Accenture. All rights reserved.
Accenture is a LEADING GLOBAL MANAGEMENT
CONSULTING & TECHNOLOGY SERVICES COMPANY
VÁCI GREENS
• 200 people
• Consulting, Technology,
Operations
HAUSZMANN ALAJOS
• 150 people
• Digital IX.0 Operations
business intelligence
test automation
frontend
salesforce
microsoft
sap
java
INDUSTRY X.0
industrial automation
software development
digital product design
ACCENTURE
TECHNOLOGY
MEETUP
MULTI ORG SINGLE SIGN
ON
TAMAS G TAMAS
SALESFORCE ENGINEERING MANAGER
ACCENTURE SALESFORCE TEAM
IN BUDAPEST
Bucharest
Bratislava
3 locations:
Bratislava, Bucharest, Budapest
Languages Supported:
English and German (primary)
Romanian, Slovak, Czech, Hungarian, French, Italian
Industries:
Communications, Automotive, Banking, Capital Markets,
Insurance, Health, Public Service, Consumer Goods, Retail & Travel
Services, Industrial, Life Sciences, Chemicals, Natural Resources,
Energy and Utilities
People:
More than 1 500 employees (cca 70 people in Salesforce delivery
team)
Clients served:
140+ clients from 27 countries with specific focus on E.U. countries
Budapest
Enabling Salesforce as a trusted
technology provider for holding
enterprise authentication credentials.
THE GOOD,
THE BAD AND THE
SALESFORCE IDENTITY
PROVIDER
MULTI – ORG
USE CASES
• Multi country implementation
• Decoupling identity provider
from service provider
• Using multiple orgs to separate
business units
• Utilizing Salesforce Identity
features on green field
implementation (without having
existing auth.provider)
• Supports SAML, OpenID and just-in-time user provisioning
• Easy two-step authentication set-up
• myDomain to enable Salesforce identity across orgs and solutions
• Launchpad supporting user-journey: user can find all the services
authorized for him/her
• Branded login, password and user information pages, customized login URL
• External Identity License for the identity service users
• Customer user can be promoted to delegated admin to manage other users
in the same customer / partner
SALESFORCE IAM
FEATURES
Salesforce platform provides identity and access
management, which can be used to provision,
authenticate, and authorize users to access Salesforce
and external services
CONFIGURATION
WALK THROUGH
LIVE DEMO
• Always use permission sets to grant access to
connected apps
• Don’t go for single authentication provider during
testing to avoid locking out yourself ☺
• Consider 2FA during planning
• Just in time provisioning can only be used with
Federation ID
• In case of JIT configuration you might need to do
some apex coding for mapping users, contacts,
accounts, profiles and roles.
• Evaluate the right license to optimize costs (Identity
vs. External Identity license)
• Without Community you will not be able to
customize login pages
SALESFORCE IDENTITY
GOTCHAS
Q&A
SF DX
Scratch orgs, package
development
Csaba Feher
Copyright © 2019 Accenture. All rights reserved. 12
AGENDA
Salesforce DX
CLI
Scratch orgs, Developer Hub
Project
Unlocked packages
Surprise
Continous integration
2019.11.13.13
SALESFORCE DX
What is
• A local directory structure in source format.
What for
• Developing, testing and deploying
14
CLI (COMMAND LINE INTERFACE)
It makes available to create environments for development, testing, synchronizing sources etc. on local
machine
Extension is available for VS Code
• This is the most supported tool for developers at the moment
Command reference
• https://developer.salesforce.com/docs/atlas.en-
us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference.htm
15
SCRATCH ORGS, DEVELOPER HUB
A scratch org is a dedicated, configurable, and short-term Salesforce environment that you can quickly
spin up when starting a new project, a new feature branch, or a feature test.
A Developer Hub (Dev Hub) is the main Salesforce org that you and your team use to create and
manage your scratch orgs.
For using this approach, Dev Hub should be enabled in the org.
16
PROJECT
Main descriptor
• sfdx-project.json
DevHub and Scratch connector
• .sfdx/sfdx-config.json
Scratch org setup
• config/project-scratch-def.json
17
UNLOCKED PACKAGES
• Follows best practices regarding the software development life cycle. It’s compatible with the new
features of Salesforce DX: projects, source-driven development commands, and scratch orgs were built
specifically with packaging in mind.
• Encapsulates all the changes you are tracking between life cycle stages in a versioned artifact.
• Makes it easier for you to accommodate new feature requests. Simply add, update, and remove
components in your package.
• Provides an improved audit history, so you can more easily track and understand the changes made to
your production org.
• Organizes source. It’s much easier to know which components belong to which applications and
features.
• Promotes iterative and modular development.
• Supports interdependencies among unlocked packages. A single unlocked package can depend on
multiple unlocked packages and classic packages.
• Supports continuous integration and continuous delivery because the packaging CLI commands enable
each step in the deployment pipeline to be fully automated.
18
UNLOCKED PACKAGES
It is a container which holds the metadata of an org.
It helps to add, edit and remove metadata
Easy to create (Demo)
Validations during creation
• ERROR running force:package:version:create: MeetupTrigger: Variable
does not exist: MeetupTriggerHanlder
Limits (Package2VersionCreates in the limit list)
Dependencies
Version controlling
19
DEMO
Create a project
Login to DevHub
Create Scratch org
Create some cool stuff
Pull to project
Create Unlocked Package
• Modify versionName and versionNumber in file sfdx-project.json
• Create first version of the package
Optionally install first in a scratch org for testing purposes
Deploy it to a DevHub org
20
CONTINOUS INTEGRATION - AFTERWORDS
Example with
• BitBucket (this can be any VCS)
• Using CI org
The pipeline runs the SFDX commands upon a trigger
• PR
• Validation
• Merge
• Deployment
21
Pull request created Create scratch orgCI started
BitBucket Pipeline CI org
Install package
Run testsTest result
Merge code
Show error
Fail
Success
CI continue
Install package on
QA
Create package
Q&A
Source:
https://trailhead.salesforce.com/en/content
/learn/trails/sfdx_get_started
https://trailhead.salesforce.com/content/le
arn/projects/automate-cicd-with-gitlab
Copyright © 2019 Accenture. All rights reserved. 22

Accenture Salesforce Developer Meetup vol 1 2019

  • 1.
    Copyright © 2019Accenture. All rights reserved.1
  • 2.
    process design solution architecture systemintegration data management ABOUT ACCENTURE Copyright © 2019 Accenture. All rights reserved. Accenture is a LEADING GLOBAL MANAGEMENT CONSULTING & TECHNOLOGY SERVICES COMPANY VÁCI GREENS • 200 people • Consulting, Technology, Operations HAUSZMANN ALAJOS • 150 people • Digital IX.0 Operations business intelligence test automation frontend salesforce microsoft sap java INDUSTRY X.0 industrial automation software development digital product design
  • 3.
    ACCENTURE TECHNOLOGY MEETUP MULTI ORG SINGLESIGN ON TAMAS G TAMAS SALESFORCE ENGINEERING MANAGER
  • 4.
    ACCENTURE SALESFORCE TEAM INBUDAPEST Bucharest Bratislava 3 locations: Bratislava, Bucharest, Budapest Languages Supported: English and German (primary) Romanian, Slovak, Czech, Hungarian, French, Italian Industries: Communications, Automotive, Banking, Capital Markets, Insurance, Health, Public Service, Consumer Goods, Retail & Travel Services, Industrial, Life Sciences, Chemicals, Natural Resources, Energy and Utilities People: More than 1 500 employees (cca 70 people in Salesforce delivery team) Clients served: 140+ clients from 27 countries with specific focus on E.U. countries Budapest
  • 5.
    Enabling Salesforce asa trusted technology provider for holding enterprise authentication credentials. THE GOOD, THE BAD AND THE SALESFORCE IDENTITY PROVIDER
  • 6.
    MULTI – ORG USECASES • Multi country implementation • Decoupling identity provider from service provider • Using multiple orgs to separate business units • Utilizing Salesforce Identity features on green field implementation (without having existing auth.provider)
  • 7.
    • Supports SAML,OpenID and just-in-time user provisioning • Easy two-step authentication set-up • myDomain to enable Salesforce identity across orgs and solutions • Launchpad supporting user-journey: user can find all the services authorized for him/her • Branded login, password and user information pages, customized login URL • External Identity License for the identity service users • Customer user can be promoted to delegated admin to manage other users in the same customer / partner SALESFORCE IAM FEATURES Salesforce platform provides identity and access management, which can be used to provision, authenticate, and authorize users to access Salesforce and external services
  • 8.
  • 9.
  • 10.
    • Always usepermission sets to grant access to connected apps • Don’t go for single authentication provider during testing to avoid locking out yourself ☺ • Consider 2FA during planning • Just in time provisioning can only be used with Federation ID • In case of JIT configuration you might need to do some apex coding for mapping users, contacts, accounts, profiles and roles. • Evaluate the right license to optimize costs (Identity vs. External Identity license) • Without Community you will not be able to customize login pages SALESFORCE IDENTITY GOTCHAS
  • 11.
  • 12.
    SF DX Scratch orgs,package development Csaba Feher Copyright © 2019 Accenture. All rights reserved. 12
  • 13.
    AGENDA Salesforce DX CLI Scratch orgs,Developer Hub Project Unlocked packages Surprise Continous integration 2019.11.13.13
  • 14.
    SALESFORCE DX What is •A local directory structure in source format. What for • Developing, testing and deploying 14
  • 15.
    CLI (COMMAND LINEINTERFACE) It makes available to create environments for development, testing, synchronizing sources etc. on local machine Extension is available for VS Code • This is the most supported tool for developers at the moment Command reference • https://developer.salesforce.com/docs/atlas.en- us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference.htm 15
  • 16.
    SCRATCH ORGS, DEVELOPERHUB A scratch org is a dedicated, configurable, and short-term Salesforce environment that you can quickly spin up when starting a new project, a new feature branch, or a feature test. A Developer Hub (Dev Hub) is the main Salesforce org that you and your team use to create and manage your scratch orgs. For using this approach, Dev Hub should be enabled in the org. 16
  • 17.
    PROJECT Main descriptor • sfdx-project.json DevHuband Scratch connector • .sfdx/sfdx-config.json Scratch org setup • config/project-scratch-def.json 17
  • 18.
    UNLOCKED PACKAGES • Followsbest practices regarding the software development life cycle. It’s compatible with the new features of Salesforce DX: projects, source-driven development commands, and scratch orgs were built specifically with packaging in mind. • Encapsulates all the changes you are tracking between life cycle stages in a versioned artifact. • Makes it easier for you to accommodate new feature requests. Simply add, update, and remove components in your package. • Provides an improved audit history, so you can more easily track and understand the changes made to your production org. • Organizes source. It’s much easier to know which components belong to which applications and features. • Promotes iterative and modular development. • Supports interdependencies among unlocked packages. A single unlocked package can depend on multiple unlocked packages and classic packages. • Supports continuous integration and continuous delivery because the packaging CLI commands enable each step in the deployment pipeline to be fully automated. 18
  • 19.
    UNLOCKED PACKAGES It isa container which holds the metadata of an org. It helps to add, edit and remove metadata Easy to create (Demo) Validations during creation • ERROR running force:package:version:create: MeetupTrigger: Variable does not exist: MeetupTriggerHanlder Limits (Package2VersionCreates in the limit list) Dependencies Version controlling 19
  • 20.
    DEMO Create a project Loginto DevHub Create Scratch org Create some cool stuff Pull to project Create Unlocked Package • Modify versionName and versionNumber in file sfdx-project.json • Create first version of the package Optionally install first in a scratch org for testing purposes Deploy it to a DevHub org 20
  • 21.
    CONTINOUS INTEGRATION -AFTERWORDS Example with • BitBucket (this can be any VCS) • Using CI org The pipeline runs the SFDX commands upon a trigger • PR • Validation • Merge • Deployment 21 Pull request created Create scratch orgCI started BitBucket Pipeline CI org Install package Run testsTest result Merge code Show error Fail Success CI continue Install package on QA Create package
  • 22.