Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Live Refactoring Custom Settings into Custom Metadata Types, Vladimir Gerasimov

Are you using custom settings or custom objects to store configuration data in your Salesforce app? This is so last century! If you want to party with all the cool kids on the block, you need to start using custom metadata types! In this session we’ll provide an overview of custom metadata types and why they are the configurational engine for your apps and packaged and will take an existing Salesforce app which uses custom settings and refactor it in real time to use custom metadata types instead, changing Apex classes, post-install scripts, tests, validation rules, and formula fields.
You will also have a chance to get a first look at a new SFDX CLI plugin that makes working with custom metadata types easier!

  • Login to see the comments

  • Be the first to like this

Live Refactoring Custom Settings into Custom Metadata Types, Vladimir Gerasimov

  1. 1. Live Refactoring Custom Settings into Custom Metadata Types by Vladimir Gerasimov
  2. 2. #CD19 Born and raised in Omsk, Russia (hello, Jaromir Jagr!) Based in San Francisco, CA Follow me on twitter: @vladimge Director, Product Management Salesforce
  3. 3. #CD19 This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available., inc. assumes no obligation and does not intend to update these forward-looking statements. Forward Looking Statement
  4. 4. #CD19 Data vs Metadata Objects Data Objects For the business Used by users Metadata Types For the app Used by admins
  5. 5. #CD19 Standard vs Custom Metadata Types Standard Built by Salesforce Custom Built by Admins Data Objects For the business Used by users Account Invoice Contact Warranty Opportunity Project Metadata Types For the app Used by Admins Validation Rules Stock Point Rule Account Settings Warranty Settings CO Translations VAT Rules
  6. 6. #CD19 Key Differentiators For CMTs Functionality List Custom Settings Hierarchical Custom Settings Custom Objects Custom Metadata Types Unlimited calls / queries Y Y N Y Retrieve / deploy & package install records N N N Y Protect (hide) the object Y Y N Y Protect (hide) individual records N N N Y Control over editability of fields N N N Y Setup audit trail history of records N N N Y Picklists, long text area and relationship fields N N Y Y Reference records in declarative tools N Y Y Y
  7. 7. #CD19 ● New limit on how many CMTs you can create: 200 ● Reference records of CMTs in process builder ● Reference records of CMTs in formula fields ● Reference records of CMTs in field default values ● Reference records of CMTs in validation rules Some New Features You Might Have Missed
  8. 8. #CD19 ● When you insert a Lead, the app uses Country and Industry fields to set the right Record Type. ● The mapping is stored as custom settings records. Let’s see how we can convert it to custom metadata types! Record Type Mapping Example
  9. 9. #CD19 DEMO
  10. 10. #CD19 Custom Metadata Types in Tests
  11. 11. #CD19 Custom Metadata Types in Tests
  12. 12. #CD19 ● Better secret management for CMTs: ○ In your local orgs ○ In the next generation packaging ● New CLI plugin for CMTs ● Sync updates for CMTs ● VLOOKUP for CMTs in formulas What’s Next?
  13. 13. #CD19 ● Check out our new “Custom Metadata Types” modules ● Join Custom Metadata Types Trailblazer group ● The "before" version (custom setting): ● The "after" version (custom metadata types): Helpful Resources Custom Metadata Types Basics Programmatic Development with Custom Metadata Types
  14. 14. Thank you!