Generated by All in One SEO v5.0.1.1, this is an llms.txt file, used by LLMs to index the site. # Code & Cloud by Prasanna Practical Solutions for Salesforce Architects & Developers. ## Sitemaps - [XML Sitemap](https://blog.prasannadeshpande.com/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [Beyond "Try-Catch": Building Self-Healing Apex with Transaction Finalizers](https://blog.prasannadeshpande.com/2026/01/beyond-try-catch-building-self-healing-apex-with-transaction-finalizers/) - "Master Salesforce Transaction Finalizers to handle Queueable failures. Learn how to catch LimitExceptions and build resilient, self-healing asynchronous Apex." - [How to Implement CDC Event Filtering in High-Traffic Systems](https://blog.prasannadeshpande.com/2026/01/how-to-implement-cdc-event-filtering-in-high-traffic-systems/) - The "Event Storm" Problem We’ve all been there. You enable Change Data Capture (CDC) on a high-traffic object and suddenly your downstream systems—MuleSoft, Heroku, or AWS—are drowning. By default, CDC publishes an event for every field change. If a batch job updates 50,000 records to fix a typo, you just burned 50,000 events from your - [Beyond SOQL101: Mastering the Stateful Selector Pattern in Apex](https://blog.prasannadeshpande.com/2026/01/beyond-soql101-mastering-the-stateful-selector-pattern-in-apex/) - In high-scale Salesforce environments, resource conservation is the ultimate design goal. Without a dedicated data strategy, redundant queries within a single transaction don't just waste CPU time. They also risk hitting the hard wall of Governor Limits. The Problem: Transactional Redundancy In complex transactions, the same record is often requested by multiple independent components: Triggers - [The "Evolution or Extinction?"](https://blog.prasannadeshpande.com/2026/01/the-punchy-edition/) - See how Salesforce automation and development tools have changed since 2018. Prepare for the future with expert insights on modern workflows. - [Salesforce Flex: "Error #2032: Stream Error. URL: "](https://blog.prasannadeshpande.com/2010/02/salesforce-flex-error-2032-stream-error-url/) - I came across the Error #2032 exception when I was trying to embed the swf file uploaded to static resources of the Salesforce instance. I searched it on the developer.force.com as well as google it around but didn't find any solution. but after that i realised that the swf file is unable to find the - [C# : Converting DateTime to format YYYY-MM-DDThh:mm:ssZ](https://blog.prasannadeshpande.com/2010/03/c-converting-datetime-to-format-yyyy-mm-ddthhmmssz/) - I found that lots of people were searching to convert the datetime into the universal format. Following can be used for the same. myDateTime.ToString("u") OR string strDate = DateTime.UtcNow.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'", DateTimeFormatInfo.InvariantInfo); The custom format string is "yyyy'-'MM'-'dd HH':'mm':'ss'Z'". - [Salesforce : Converting DateTime to format YYYY-MM-DDThh:mm:ssZ](https://blog.prasannadeshpande.com/2010/01/salesforce-converting-datetime-to-format-yyyy-mm-ddthhmmssz/) - I spend lots of my time finding a solution for converting the datetime into the format (YYYY-MM-DDThh:mm:ssZ) so that it can be used in SOQL query. SOSL query returns the datetime in format(YYYY-MM-DDThh:mm:ssZ) so for comparison one need to convert it into that format. System.debug(DateTime.now().format('yyyy-MM-dd\'T\'hh:mm:ss\'z\'')); I hope this will save your time. :) - [How to start debugging an issue in Salesforce](https://blog.prasannadeshpande.com/2018/04/debugging-salesforce-apex-code/) - Step 1: Check logs Debug Logs: Will provide you information what actions are getting performed and in which order Audit Trails: Helpful to find out it some newly made org changes has broken the functionality Step 2: System Debugs Debug log recording in Setup is turned on for your User via: Setup > Monitoring > - [Eclipse/Class save error - This Apex class has batch or future jobs pending or in progress](https://blog.prasannadeshpande.com/2018/02/eclipse-class-save-error-this-apex-class-has-batch-or-future-jobs-pending-or-in-progress/) - I was constantly getting an error "This Apex class has batch or future jobs pending or in progress" whenever I was saving Apex class written for batch Apex. This was happening in the developer org where we develop a test managed package for the AppExchange product. There was no way I can throw out this - [Salesforce: Adding specific business days to a date using BusinessHours class](https://blog.prasannadeshpande.com/2017/12/salesforce-adding-specific-business-days-to-date-using-businesshours-class/) - Businesshours is a system class provided by Salesforce for performing various operations on the DateTime values. It provides methods for checking if a date falls during business hours, whats the diff between two dates in business. The in-built method does allow adding the specific days to the DateTime value but there is a catch, it - [Salesforce: Trigger on Attachment - Restricting user from attaching files with specific extensions](https://blog.prasannadeshpande.com/2013/10/salesforce-trigger-on-attachment/) - By default, Salesforce doesn't allow admin to configure or restrict a user from adding a specific type of files. Admin may need that user should not be able to attach files of type exe, dll which can have the virus in them. Also, there is no virus check is done when a file is getting - [Changing default RDP port of Amazon EC2 server](https://blog.prasannadeshpande.com/2012/11/changing-default-rdp-port-of-amazon-ec2-server/) - First thing you should do if you are hosting a server in AWS cloud is to change its default ports. Why one should do that? Does changing default port number actually increase security? The 5 biggest security mistakes users make in Amazon’s cloud AWS Security Alert: Insecure RDP Server Configuration Steps to change the RDP - [Creating multiple tabs for same Salesforce Object](https://blog.prasannadeshpande.com/2012/08/creating-multiple-tabs-for-same-salesforce-object/) - Many time I have seen Salesforce Admins wants multiple tabs for same object depending upon the RecordTypes or some other criteria like separate tabs for Premium Account, Gold Accounts and Silver. Indeed they can create multiple views and use the picklist and use "Go" button. But it has disadvantage like multiple clicks, not that user - [Salesforce: Adding specific working days to a Date](https://blog.prasannadeshpande.com/2011/06/salesforce-adding-specific-working-days-to-a-date/) - UPDATE: If you want to consider holidays and business hours you can check out this article. Many time while coding we come across the requirement in which we need to calculate the EndDate from a StartDate after a specific number of business/working days. That means excluding the weekends (Saturday & Sunday) Following is the code snippet which does - [I am "Monthly top contributor of month August" on Force.com Forum](https://blog.prasannadeshpande.com/2010/09/i-am-monthly-top-contributor-of-month-august-on-force-com-forum/) - http://blog.sforce.com/sforce/2010/09/monthly-top-contributors-summary.html - [Showing the Processing/Loading image](https://blog.prasannadeshpande.com/2010/08/showing-the-processingloading-image/) - I came across a good code sample while surfing for showing the Loading/Processing image on the VisualForce Page. You can find it at: http://force.siddheshkabe.co.in/2009/10/displaying-please-wait-ajax-animation.html - [Shifted to prasannadeshpande.com](https://blog.prasannadeshpande.com/2010/07/shifted-to-prasannadeshpande-com-2/) - yeippie! - [Salesforce: Accessing Field label of object in VisualForce page](https://blog.prasannadeshpande.com/2010/06/salesforce-accessing-field-label-of-object-in-visualforce-page/) - In VFPage one can directly access the label of any particular field of sObject. In future if the label is changed in the sObject, same will be reflected in the VFPage. For Example: It also avoids hard-coded labels and make it more flexible. - [Error: 'google' is undefined in IE8](https://blog.prasannadeshpande.com/2010/06/error-google-is-undefined-in-ie8/) - While using the Google Api forOrg chart generation I came across the error "'google' is undefined" when i was testing it in IE 8 browser. The same code was working fine in Mozilla FireFox . Google the error was not able to find solution. After lots of searching fixed it by doing a small one character change - [Salesforce: Force.com Free Edition](https://blog.prasannadeshpande.com/2010/06/salesforce-force-com-free-edition/) - What is included in Force.com Free Edition? Users 100 Custom App Per User 1 Custom Objects Per User Up to 10 Storage 1 GB Logins Unlimited Sites page views 250,000 per month Developer Sandbox Included Offline Included Web sites 1 site Web sites pages views per - [Salesforce: SF:INVALID_SESSION_ID](https://blog.prasannadeshpande.com/2010/03/salesforce-sfinvalid_session_id/) - I was constantly getting exception when I tried to use the "/soap/ajax/15.0/connection.js" in the VF Page. JavaScript throws following exception:- {faultcode:'sf:INVALID_SESSION_ID', faultstring:'INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session', detail:{UnexpectedErrorFault:{exceptionCode:'INVALID_SESSION_ID', exceptionMessage:'Invalid Session ID found in SessionHeader: Illegal Session', }, }, } The exception was resolved when I added following statement before using the "sforce.connection" - [Regex for AlphaNumeric password validation](https://blog.prasannadeshpande.com/2010/03/regex-for-alphanumeric-password-validation/) - Regular Expression for validating the string (?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,20})$ The above RegEx requires at least one digit and at least one alphabetic character. It does not allow special characters. The length must be from 8 to 20 characters. - [Salesforce.com: What is Cloud Computing?](https://blog.prasannadeshpande.com/2010/02/salesforce-com-what-is-cloud-computing/) - [youtube=Salesforce] Awsome explanation of Salesforce working! - [Google Docs will allow to store and update all types of file](https://blog.prasannadeshpande.com/2010/01/google-docs-will-allow-to-store-and-update-all-types-of-file/) - Google Docs will be supporting all types of the file uploads upto size of 250MB. Overall it will provide upto 1GB space. This will bring down the various problems which occurs during sending mails with large attachments. Google says This makes it easy to backup more of your key files online, from large graphics and raw - [Accessing System information through Environment in C#](https://blog.prasannadeshpande.com/2010/01/accessing-system-information-through-environment-in-c/) - The Environment List When a program is executed, it is also passed a list of current environmental variables (such as HOME, PATH etc). This is the same in both Unix and Windows. The following code example shows how a call to Environment.GetEnvironmentVariables returns all the currently defined variables. The following code explores the various members - [JavaScript: Number to Currency format conversion function](https://blog.prasannadeshpande.com/2010/01/javascript-number-to-currency-format-conversion-function/) - JavaScript for converting string to currency format. https://gist.github.com/prasannadeshpande/91a3212f041fcec3e4f3d9dac5923c89 - [Getting column names of the MSSQL Table](https://blog.prasannadeshpande.com/2009/12/getting-column-names-of-the-mssql-table/) - To get the column names of a table in MSSQL SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = 'TableName' This is basically the MSSQL equivalent for The MySQL Command DESCRIBE TableName which displays the table details For getting only the column names you can use following one SELECT Column_Name + ',' FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = - [Google Offers Free DNS Servers](https://blog.prasannadeshpande.com/2009/12/google-offers-free-dns-servers/) - Google has once again stepped up and is now offering another free service to make our lives more efficient. The search giant announced today that they will now be offering DNS servers for the public at no cost. This comes in addition to the multitude of services already offered by Google, such as Gmail, Google Voice - [Multiple email addresses for one gmail account](https://blog.prasannadeshpande.com/2009/12/multiple-email-addresses-for-one-gmail-account/) - Let’s say that I have a gmail address: prasu@gmail.com Now if I am signing up for a newsletter at XYZ Corp. I can register with the email address prasu+xyz@gmail.com You can put in any extra alphanumeric information after the plus sign and it still gets delivered to prasu@gmail.com. Furthermore you can apply a filter in Gmail - [Google Thinks Twitter Is…](https://blog.prasannadeshpande.com/2009/11/google-thinks-twitter-is/) - So…Google thinks Twitter is…retarded? over capacity? down? useless? lame? pointless? slow? a waste of time?What do you think Twitter is? Copied from here. - [Google Labs: Closure Tools](https://blog.prasannadeshpande.com/2009/11/google-labs-closure-tools/) - Web applications have evolved from simple HTML pages into rich, interactive applications that provide a great user experience. Today's web apps pose a challenge for developers, however: how do you create and maintain efficient JavaScript code that downloads quickly and works across different browsers? The Closure tools help developers to build rich web applications with - [Google flu trends](https://blog.prasannadeshpande.com/2009/11/google-flu-trends/) - How does this work? Google have found that certain search terms are good indicators of flu activity. Google Flu Trends uses aggregated Google search data to estimate current flu activity around the world in near real-time. Each week, millions of users around the world search for health information online. As you might expect, there are - [Outlook 2010 Beta Send/Receive Not working](https://blog.prasannadeshpande.com/2009/11/outlook-2010-beta-sendreceive-not-working/) - While trying the MS Office 2010 beta version, I came across the strange problem. Send/ receive was not working after it imported the settings from Outlook 03. It was very difficult to trace why it was not working, as it carries on processing and process never stops. Then I started Googling for the same and got a hint from following - [Remote Desktop managing tools](https://blog.prasannadeshpande.com/2009/11/remote-desktop-managing-tools/) - While surfing I came across following two remote desktop managing tools. Remote Desktop Manager is a small application used to manage all your remote connections and virtual machine. Add, edit, delete, shared, organize and find your remote connection quickly. Compatible with Microsoft Remote Desktop, Terminal Services, VNC, LogMeIn, Team Viewer, Ftp, SSH, Telnet, Dameware, X - [Tweeter Addiction](https://blog.prasannadeshpande.com/2009/11/tweeter-addiction/) - Created by Oatmeal - [Retweet to share tweets](https://blog.prasannadeshpande.com/2009/11/retweet-to-share-tweet/) -  Am included in the tweeter beta group. May be they offered me this, as I do lots of retweeting. he he he - [Google launches Experimental Image Search](https://blog.prasannadeshpande.com/2009/11/google-launches-experimental-image-serach/) - Back in 2001, Google had made things a lot easier for the internet community to search for images via the Image Search option. According to the latest reports from the Official Google Blog, that service has been developing and one of the newer updates was called Similar Images which enabled users to find a larger - [Office 2010 Professional Beta is now available for free download!](https://blog.prasannadeshpande.com/2009/11/office-2010-professional-beta-is-now-available-for-free-download/) - It seems that the success of the Windows 7 Beta has led Microsoft to believe that this is the perfect way to go forward with all new major software releases. We, for one, won’t be complaining as the company has just rolled out a free download of the beta version of Microsoft Office 2010 - [Google's Programming Language](https://blog.prasannadeshpande.com/2009/11/googles-programming-language/) - Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were - [Chrome OS](https://blog.prasannadeshpande.com/2009/11/chrome-os/) - Chrome OS is a lightweight Linux distribution based on Debian that uses a lot of open-source software: Host AP Linux drivers, PAM (an authentication mechanism), Syslinux (a lightweight bootloader), IBus (Intelligent Input Bus for Linux / Unix OS), ConnMan(Internet connection manager), XScreenSaver and other software. More on this later. The source code for Chrome OS is already available. Chrome, the foundation of - [Salesforce chatter @ Dreamforce 09](https://blog.prasannadeshpande.com/2009/11/salesforce-chatter-dreamforce-09/) - [youtube=http://www.youtube.com/watch?v=y3-pEDst3uk] - [Hello world!](https://blog.prasannadeshpande.com/2009/05/hello-world-2/) - This is my first blog, i know its pretty late for an Computer engg but i never thot to became a hardcore blogger..... hope i will continue my blogging.. atleat one post a day.... hope best for the future ## Categories - [Uncategorized](https://blog.prasannadeshpande.com/category/uncategorized/) - [Development](https://blog.prasannadeshpande.com/category/development/) - [Google](https://blog.prasannadeshpande.com/category/google-2/) - [JavaScript](https://blog.prasannadeshpande.com/category/development/javascript-development/) - [Salesforce](https://blog.prasannadeshpande.com/category/development/salesforce/) - [Sample codes](https://blog.prasannadeshpande.com/category/samplecodes/) - [VisualForce](https://blog.prasannadeshpande.com/category/development/salesforce/visualforce/) - [.Net](https://blog.prasannadeshpande.com/category/development/net/) - [Apex](https://blog.prasannadeshpande.com/category/development/salesforce/apex/) ## Tags - [Amazon](https://blog.prasannadeshpande.com/tag/amazon/) - [Apex](https://blog.prasannadeshpande.com/tag/apex/) - [attachment](https://blog.prasannadeshpande.com/tag/attachment/) - [beta](https://blog.prasannadeshpande.com/tag/beta/) - [bug](https://blog.prasannadeshpande.com/tag/bug/) - [c#](https://blog.prasannadeshpande.com/tag/c/) - [chatter](https://blog.prasannadeshpande.com/tag/chatter/) - [Chrome](https://blog.prasannadeshpande.com/tag/chrome/) - [closure](https://blog.prasannadeshpande.com/tag/closure/) - [cloud](https://blog.prasannadeshpande.com/tag/cloud/) - [Code](https://blog.prasannadeshpande.com/tag/code/) - [customlabel](https://blog.prasannadeshpande.com/tag/customlabel/) - [Development](https://blog.prasannadeshpande.com/tag/development/) - [DNS](https://blog.prasannadeshpande.com/tag/dns/) - [download](https://blog.prasannadeshpande.com/tag/download/) - [Dreamforce](https://blog.prasannadeshpande.com/tag/dreamforce/) - [Flex](https://blog.prasannadeshpande.com/tag/flex/) - [flu trends](https://blog.prasannadeshpande.com/tag/flu-trends/) - [Go](https://blog.prasannadeshpande.com/tag/go/) - [google](https://blog.prasannadeshpande.com/tag/google/) - [google Chrome](https://blog.prasannadeshpande.com/tag/google-chrome/) - [google labs](https://blog.prasannadeshpande.com/tag/google-labs/) - [google swril](https://blog.prasannadeshpande.com/tag/google-swril/) - [image search](https://blog.prasannadeshpande.com/tag/image-search/) - [Issue](https://blog.prasannadeshpande.com/tag/issue/) - [javascript](https://blog.prasannadeshpande.com/tag/javascript/) - [MS office 2010](https://blog.prasannadeshpande.com/tag/ms-office-2010/) - [MS SQL](https://blog.prasannadeshpande.com/tag/ms-sql/) - [OUTLOOk 2010](https://blog.prasannadeshpande.com/tag/outlook-2010/) - [programming language](https://blog.prasannadeshpande.com/tag/programming-language/) - [Query](https://blog.prasannadeshpande.com/tag/query/) - [restricting](https://blog.prasannadeshpande.com/tag/restricting/) - [Salesforce](https://blog.prasannadeshpande.com/tag/salesforce/) - [system.environment](https://blog.prasannadeshpande.com/tag/system-environment/) - [tools](https://blog.prasannadeshpande.com/tag/tools/) - [trigger](https://blog.prasannadeshpande.com/tag/trigger/) - [tweeter](https://blog.prasannadeshpande.com/tag/tweeter/) - [users](https://blog.prasannadeshpande.com/tag/users/) - [visualforce](https://blog.prasannadeshpande.com/tag/visualforce-2/)