Posts

Showing posts from June, 2018

Update Custom Metadata Types using Metadata Api

Image
With the introduction of Custom Metadata Types , the use of Custom Settings have been marginally reduced. Custom Metadata Types gives more flexibility in context of creating/maintaining Metadata, however when it comes to the point of updating Custom Metadata Types it involves some manual steps to be done from the Admin side which is a bit pain! With the help of Metadata Api this process can be made more simple just by writing some Apex. Lets go ahead and put some code to make use of Metadata Api and update Custom Metadata Types. Step 1: Create a new Custom Metadata Type "US_States" with one custom field "State__c". Step 2: Create few records for the above Custom Metadata Type using "Manage" button. Step 3: When we say that we update Custom Metadata Types using Metadata Api, behind the scenes it does an actual deployment and we use below class to track those deployment results. Create an Apex class "CustomMetadataCallback.apxc" u...

REST Service to Expose Attachments as Public CURL

Image
My use case behind this blog post is to expose Salesforce Attachment (Image/Pdf/Video) as a public accessible CURL, without having to authenticate to Salesforce. And we are going to use REST Web-services and Public Sites to do this! Step 1: Create an Apex REST class with below code snippet. /* * Purpose : Apex rest webservice to return attachment body for a given id * * Developer: SFDC_Dev * */ @RestResource (urlMapping = '/Document_V1/*' ) global class DocumentV1 { @HttpGet global static void docBody() { RestRequest request = RestContext . request; RestResponse res = RestContext . response; try { // Retrieve attachment id from the request url String docId = request . requestURI . substring(request . requestURI . lastIndexOf( '/' ) + 1 ); // Query attachment sObject to get the specific attachment using attachment id ...

Few Apex Scenario Based Programming Questions

Image
Recently at one of the local Hackathon I came across some scenario based Apex programming questions and I thought I would go ahead and blog on them. Below are three scenarios on which we are going to write some Apex code! Scenario 1: Create a Method which accepts List of String and returns a Map with count on how many times a specific value is repeated in a given List. Example:- List should result in "{A=3, B=2, C=1}" Approached Solution: Below is my Apex class with a method to accept List and returns a Map. /* * Purpose: Hackathon Programming Scenarios * * Developer: HackathonDev */ public class HackathoScenarios { // Method to return a map with string occurence count that was passed in a list public static Map < String, Integer > scenario1(List < String > lstStrng) { Map < String, Integer > mapVals = new Map < String, Integer > (); for (String s: lstStrng)...