Тёмный
That Salesforce Guy
That Salesforce Guy
That Salesforce Guy
Подписаться
Welcome to That Salesforce Guy.
My name is Rohitkumar and on this channel I will be sharing my experiences about my Salesforce Journey.
I will be doing live streams and solving Trailhead as well as some custom projects.
If you have any ideas do share them so I can learn from you guys as well!
Feel free to drop a comment or an email if you have any questions.
Комментарии
@Trailhead_Champion
@Trailhead_Champion 2 дня назад
can you make one playlist for salesforce admin for integrate with other system without coding it will be very helpful, and big fan of yours
@ThatSalesforceGuy
@ThatSalesforceGuy День назад
Sure! I have some OmniStudio tutorials coming soon! Thanks alot for the support :)
@ThatSalesforceGuy
@ThatSalesforceGuy 3 дня назад
*** Checkout Extensions created by me : Salesforce Login Manager : chromewebstore.google.com/detail/beemdmmeeddbifmjlaiboldgnffddibd?authuser=0&hl=en Salesforce OmniStudio Helper : chromewebstore.google.com/detail/gaogdijndgigjopjiidpemfglhokcmpe?authuser=0&hl=en Comma Inserter for SOQL : chromewebstore.google.com/detail/mkpajbolnpjffffffhokhfefmjmdfgeb?authuser=0&hl=en
@saadainali9669
@saadainali9669 3 дня назад
Smooth and to the point 🙌
@ThatSalesforceGuy
@ThatSalesforceGuy 3 дня назад
Glad you liked it!
@saicharansomoju6480
@saicharansomoju6480 4 дня назад
You forgot to mention Salesforce changeset helper in the video, it was really helpful for deployments Thanks in advance😊
@ThatSalesforceGuy
@ThatSalesforceGuy 3 дня назад
its a good one but these days everyone uses GIT and CI CD Pipelines for deployment, new video coming soon :D
@AjayChauhan-ix7nn
@AjayChauhan-ix7nn 8 дней назад
I really love your videos they are very helpful.......
@ThatSalesforceGuy
@ThatSalesforceGuy 8 дней назад
Thanks alot Ajay! I will be posting more soon :) Stay tuned, Appreciate the kind words.
@AjayChauhan-ix7nn
@AjayChauhan-ix7nn 8 дней назад
@@ThatSalesforceGuy sure , I do love the content that you made and no one is talks about those basics
@agamyashvant5545
@agamyashvant5545 15 дней назад
Hi, how about the body in JSON format, is it something we write it manually? Thanks in advance.
@ThatSalesforceGuy
@ThatSalesforceGuy 15 дней назад
Body is something that will contain data if not the URL Params, if your goal is to send information to Salesforce then you have to send data in body or URL params.
@agamyashvant5545
@agamyashvant5545 14 дней назад
@@ThatSalesforceGuy great thanks, I have just come across the channel, and watched allll the videos. It would be really great if you could upload videos more frequently. Thank you!!!
@ThatSalesforceGuy
@ThatSalesforceGuy 14 дней назад
@@agamyashvant5545 yeah, I have planned video series and will be posting regularly now :)
@rresttringiddo
@rresttringiddo 17 дней назад
thanks a lot for the video, the only thing missing is the color in the cls, being like this a lot of time and need it
@ThatSalesforceGuy
@ThatSalesforceGuy 17 дней назад
You can use different VS Code themes for that. I'm using Monokoi Pro here.
@ravigrover1923
@ravigrover1923 25 дней назад
You made it really Easy to understand & engaging. Thanks
@ThatSalesforceGuy
@ThatSalesforceGuy 23 дня назад
Thank you for your feedback :)
@harshalpatil7752
@harshalpatil7752 Месяц назад
Superb !
@ThatSalesforceGuy
@ThatSalesforceGuy 18 дней назад
Thanks a lot
@harshalpatil7752
@harshalpatil7752 Месяц назад
Superb !
@ThatSalesforceGuy
@ThatSalesforceGuy 18 дней назад
Thank you! Cheers!
@harshalpatil7752
@harshalpatil7752 Месяц назад
Superb !
@ThatSalesforceGuy
@ThatSalesforceGuy 18 дней назад
Thanks a lot
@harshalpatil7752
@harshalpatil7752 Месяц назад
Superb !
@ThatSalesforceGuy
@ThatSalesforceGuy 18 дней назад
Thank you! Cheers!
@knightvampire1263
@knightvampire1263 Месяц назад
For those who are still not able to get token: Go to setup search oauth and open id connect settings then trun on oauth username password flows.
@priyeshmahajan6238
@priyeshmahajan6238 Месяц назад
great thanks
@ThatSalesforceGuy
@ThatSalesforceGuy 18 дней назад
You are welcome!
@Anony_moouse
@Anony_moouse Месяц назад
Excellent video , just had one doubt can you explain the callback URL in detail , on what exactly you used that particular URL??
@ThatSalesforceGuy
@ThatSalesforceGuy Месяц назад
Thank you, regarding callback url, umm imagine a callback URL like a doorbell. When a computer finishes its job, it rings this special doorbell to tell your computer, 'I'm done!
@shubhampatidar1814
@shubhampatidar1814 Месяц назад
I have Debug System.debug(oppList) How can see Debug In Testclass in vs code
@ThatSalesforceGuy
@ThatSalesforceGuy 18 дней назад
In output tab only you have to search, I will suggest put it as System.debug('oppList --> '+oppList); so you can hit CTRL + F and search for oppList , you will find your debug statement.
@sahilarora-ly2wy
@sahilarora-ly2wy Месяц назад
not working getting { "error": "invalid_grant", "error_description": "authentication failure" } i double check the client_id client_secret etc ip relaxation is selected and password+security token is also added still sam eissue
@ThatSalesforceGuy
@ThatSalesforceGuy Месяц назад
there is one setting in profile to disable this
@OtakRajCodes
@OtakRajCodes 2 месяца назад
Thank you , I was searching for a tool which made going through the logs easy & this vid solved my prob .
@ThatSalesforceGuy
@ThatSalesforceGuy 18 дней назад
You are welcome, stay tunned for new videos, uploading soon :) I have created some Chrome Extensions and working on some web apps!
@naveenkumar-tu8yj
@naveenkumar-tu8yj 2 месяца назад
RunTest not show in test class. let me know any extension need to install in vs code
@ThatSalesforceGuy
@ThatSalesforceGuy 2 месяца назад
Make sure you have Salesforce Extension pack installed + Supported Java Version.
@mee565
@mee565 3 месяца назад
Good content .please create more videos on rest integration
@ThatSalesforceGuy
@ThatSalesforceGuy 3 месяца назад
sure, I have few planned ahead :)
@narendharg8829
@narendharg8829 3 месяца назад
Need more practical videos on integration
@ThatSalesforceGuy
@ThatSalesforceGuy 3 месяца назад
Check this ou --> ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-T9S6odjkxNE.htmlsi=LVHCkzXJkIjY4-Mu I will be posting few more videos soon.
@sanketteltumbade
@sanketteltumbade 4 месяца назад
Man even after I deploy it to the org it is not visible in testing - apec tests section
@ThatSalesforceGuy
@ThatSalesforceGuy 4 месяца назад
can you check if you are adding @isTest to class and method?
@arjunkj8911
@arjunkj8911 4 месяца назад
Thanks man! Just what i wanted!
@ThatSalesforceGuy
@ThatSalesforceGuy 4 месяца назад
Glad I could help :) I am working on a scalable API Framework as well, will publish it soon next week.
@vtn08
@vtn08 5 месяцев назад
Really helpful video compared to the other demos I've seen. Note that now Salesforce is transforming Omnistudio into the standard object. The class should be instead "global without sharing class RemoteClass implements omnistudio.VlocityOpenInterface"
@ThatSalesforceGuy
@ThatSalesforceGuy 4 месяца назад
Thank you, I have also shared two codes on my github you can check --> github.com/rohitasare7/Salesforce/tree/main/UtilityClasses
@AjayChauhan-ix7nn
@AjayChauhan-ix7nn 5 месяцев назад
Once again Sir, I am here going through all the videos really love the content Keep Posting the videos😄😄😄😄😄😄
@ThatSalesforceGuy
@ThatSalesforceGuy 5 месяцев назад
Thanks alot Ajay, I have planned few good tutorials but I am just having some hard time in my life right now so I am taking some break. Although I will mostly start creating content next month :) Take care.
@SfdcLearner
@SfdcLearner 5 месяцев назад
Bro, can we use catch( exception EX) for all scenarios. I seen there many many types of exception handlings like catch(NullPointerException e), catch(DmlException e), AuraHandled Can we use just basic can we use catch( exception EX). Or do we need to use these specific one ? Please help me out with this clarification
@ThatSalesforceGuy
@ThatSalesforceGuy 5 месяцев назад
yes, you can use ( exception ex) for all scenarios, you can use ex.getMessage(); and ex.getStackTraceString(); methods to get info on your error/exception. The reason salesforce has provided different types of exceptions is to get more granular information, like in DmlException you can call getDmlFieldNames, getDmlType etc (refer developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_classes_exception_methods.htm) So it again depends on your use case if you need more granular data but as far as I have seen, generic exception when implemented with getMessage & getStackTraceString methods is enough. I will be doing another video in depth for exceptions and handling, might include some open source frameworks (but I don't want to include extra unncessary code in any project where chances are most likely it won't be utilized haha) Thanks for the question btw.
@SfdcLearner
@SfdcLearner 5 месяцев назад
@@ThatSalesforceGuy Thanks for the clarification ❤️
@ThatSalesforceGuy
@ThatSalesforceGuy 5 месяцев назад
anytime!@@SfdcLearner
@alic
@alic 5 месяцев назад
You are showing in classic, can you show in Lightning?
@ThatSalesforceGuy
@ThatSalesforceGuy 5 месяцев назад
If you are a good admin, lightning or classic doesn't matter :)
@user-rn9hc8eq8n
@user-rn9hc8eq8n 6 месяцев назад
Hi , Salesforce Guy, you videos is very interesting and helpful keep making videos and sharing salesforce knowledge , Thankyou
@ThatSalesforceGuy
@ThatSalesforceGuy 6 месяцев назад
Glad you liked it Sagar :)
@siddharthbhosale8979
@siddharthbhosale8979 7 месяцев назад
Thanks buddy
@ThatSalesforceGuy
@ThatSalesforceGuy 5 месяцев назад
Happy to help
@bhimajamge4111
@bhimajamge4111 7 месяцев назад
Please explain each extension in detail
@ThatSalesforceGuy
@ThatSalesforceGuy 7 месяцев назад
Hi Bhima, sure I will be posting some detailed videos soon.
@crosbiemjc
@crosbiemjc 7 месяцев назад
Fantastic Video thank you for sharing
@ThatSalesforceGuy
@ThatSalesforceGuy 7 месяцев назад
Glad you liked it Mark! I will be posting more framework related videos soon this year.
@AjayChauhan-ix7nn
@AjayChauhan-ix7nn 8 месяцев назад
Really appreciate the hard work,
@ThatSalesforceGuy
@ThatSalesforceGuy 18 дней назад
Thanks alot!
@AjayChauhan-ix7nn
@AjayChauhan-ix7nn 8 месяцев назад
Thanks alot Sir, for making such Videos
@ThatSalesforceGuy
@ThatSalesforceGuy 8 месяцев назад
Thanks alot Ajay!
@santoshreddy5378
@santoshreddy5378 9 месяцев назад
Thank You. Can you also help on How to write test class for the same class?
@ThatSalesforceGuy
@ThatSalesforceGuy 9 месяцев назад
Hello Santosh, sure I will be posting the video for API Framework, I will share complete code then. Stay Tuned :)
@shaikk195
@shaikk195 10 месяцев назад
Great Job man, Learn something new since am a beginner Do more videos on Integration and LWC
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
Thank you @shaikk195 glad you liked it! I am working on few awesome Integration Framework Videos, will soon upload :) Stay tuned!
@jimconingsby4616
@jimconingsby4616 10 месяцев назад
This is not a good error handling strategy. You're basically just swallowing the exception and therefore it won't surface to the standard UI or any VF Pages or Lightning components or show up on import result files so your users won't have any idea that something went wrong, your execution will continue after the catch block if there's any code written after it which has a high probability of unexpected behavior since the operation in the try block didn't work as expected. If you were to re-throw the exception in your catch block then it would avoid those problems but then your insert of your log record would be rolled-back anyway so your admin or whoever is responsible for reviewing the logs would hear from the user there was a problem but not find the corresponding log file since it wasn't committed to the database. A proper logging framework (like Nebula Logger) uses platform events because that allows for log records to be created even if the overall transaction failed due to an exception. Additionally, whether you're logging or not, your exception handling needs to be done in a way that the caller code that is as close to the top of the call stack as possible is passing along some kind of message to the user that what they wanted to do failed and why. And ideally, depending on the type of exception, you'd be able to give them options for curing the issue and re-trying. Yes in this example he was just calling it from the anonymous apex window but in a real life example the code would be triggered by some user action or scheduled APEX or some other process that can't just fail silently like that. In order to do this effectively you should have some kind of layered architecture where you've got controller classes for your VF pages/Lightning Components, some kind of trigger handler framework, and some kind of service class implementation so that your business logic is separated out from the various places it might be called from. The exceptions will throw from wherever your logic is and then you'll catch them in the controller/trigger handler because then you'll know the context in which the code was called and what the appropriate message to pass along to the user is.
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
Hey Jim, I totally agree with you as this was just an example on how you can build your exception handling logic, to be honest, it depends on your use cases if you are using VF Pages, LWC/Aura or Scheduled Apex, APIs etc. Incase of any DML operation we can always use rollback mechanism, also for a good user experience (let's say you are giving retry option or retrying it through batch etc) it is going to be a custom logic/framework. However after reading your comment, I will be uploading videos on some good error handling frameworks out there (will try the Nebula Logger since it supports Apex, Lightning Components (lwc & aura), Flow & Process Builder) I always seek critical feedbacks and try to learn more, appreciate your response and I am hoping to receive your feedbacks on my future videos :)
@jimconingsby4616
@jimconingsby4616 10 месяцев назад
@@ThatSalesforceGuy it's just that your thumbnail says "how to handle like a pro" and the description says "highly effective" and you use the hashtag #bestpractice so to someone who doesn't know any better they would try to implement this exact approach in their production code (in fact, another commenter said they did just that) so it isn't "just an example" I can't think of any use case where this would be the appropriate way of doing things.
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
@@jimconingsby4616 I have personally worked in multiple projects with some talented architects and trust me for apex this is the best and most effective logic we have always used, further this can be enhanced as per the needs. If you can't think of any use case then probably you are just making things complex with managed packages which are not needed most of the times :) I believe a developer should write minimum, effective code.
@jimconingsby4616
@jimconingsby4616 10 месяцев назад
@@ThatSalesforceGuy if you say so. My original comment stands...in your example you're swallowing the exception which goes against basic programming best practices in almost all cases and you shouldn't be telling people on youtube to proliferate this pattern around their code base because it will 100% lead to data integrity issues and bad user experiences where something doesn't work but a) it doesn't explicitly tell them it didn't work and b) it doesn't explain why (presumably your average user isn't going to have access to your error log object or even know to go look there). Certainly it's enough of a recognized anti-pattern that it shouldn't be held up as the primary methodology of doing exception handling as you've done in your video. Present the normal use case (which is not swallowing the exception) and mention that it's acceptable to do so only if the use case for whatever reason doesn't need for the transaction to fail and for the user to be informed even if the code in the try block does fail. And the overwhelming consensus is that any attempt to do an error log should be done using platform events and that has been true since they became available. Feel free to dispute me but don't just say "well me and my friends have done it before" tell me why you don't think that it's a problem that your DML of your error log record will be rolled back if the transaction fails. You cannot justify it. Error logging is most useful when a transaction fails and if you do it the way you're doing it then you'll lose any of the error log records you thought you were making if there's any other exception thrown in the rest of the transaction. You don't need to use a managed package to do platform event based error logging, you can definitely roll your own. It's not difficult code to write. But using managed packages is also not a sign of complexity. This is what using Nebula logger looks like: catch(Exception e){ Nebula.Logger.error('Something went wrong',e); //even with nebula logger you still need to do something to either surface the exception in a user friendly way to the user or to execute some kind of logic to ensure the transaction is ok to continue. That code would go here, depending on what your use case it. } I would argue that using Nebula Logger is actually *less* complex than what you suggested because then you don't need to create your own object or code or anything (not that what you did is hard, but neither is installing a package) you just install it and use it as above. It is a well written and fully tested and widely adopted framework. Importantly, it works even if the transaction fails whereas yours does not. And if you're worried about tightly coupling your code to a third party framework then you can easily create a facade layer to de-couple it which shouldn't be any problem for a pro. I'm not worried about convincing you. But for anyone visiting your page I hope they read the comments and consider using actual best practices: Catch exceptions as high up the call stack as you can so that there's greater contextual awareness of the best way to handle them. Log them using a platform event based logging framework. If the code is invoked as part of a trigger then utilize the .addError() method on the record(s) affected so that the error will surface either to the record page UI or the error file produced by either the bulk or batch api. Generally it is best if you translate the exception message into something more user friendly when you do this. If the code is invoked by a call from a component or VF page then surface the error to the component or page to be handled and presented to the user. Or, if the user doesn't need to know about the problem and it's ok for the execution to continue on, execute some logic in your catch block that ensures the state of the transaction is ok to continue. Fault tolerant design is fine but you have to do *something* when almost any exception happens you can't normally just log it and say ok keep going. I agree that minimum effective code is the goal. But it must be effective. Your suggestion is a ticking time bomb where your users don't find out about any errors and your logs may or may not be saved. Add this line (throw new AuraHandledException('There was a problem with your request. Please view the error logs for more information'); ) after the line where you log (UtilityClass.createElog('TutorialClass','tutMethod'null,ex); ) and you'll find that your log file was rolled back and then you lose all knowledge of the error. Would you agree that your approach prevents you from elevating errors to the user interface while preserving your error log records?
@RakeshGaikwad-sc3pw
@RakeshGaikwad-sc3pw 10 месяцев назад
Hi Rohit, These extensions are really awesome and famous but Please explain about Salesforce Simplified chrome extension as well. This extension is very old but not much famous but extremely helpful for Salesforce Admin, Dev and for Omnistudio developers, I am using this from last 2 years and this has saved my lot of time.
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
Hello Rakesh, I will definitely explore & add this one in future videos
@user-sv9fw5jv8o
@user-sv9fw5jv8o 10 месяцев назад
"error": "invalid_grant", "error_description": "authentication failure" Why is the error reported? 400
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
check this video tutorial for fixing error, I have explained here --> ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Bx0qLA8E01M.html
@charanjitsingh815
@charanjitsingh815 10 месяцев назад
i create account as Developer and i followed same steps but still getting error { "error": "invalid_grant", "error_description": "authentication failure" }
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
@charanjitsingh815 in your request body, can you try password + security token? let me know if it works
@user-sv9fw5jv8o
@user-sv9fw5jv8o 10 месяцев назад
Me too @@ThatSalesforceGuy
@GhostrunnerLi
@GhostrunnerLi 10 месяцев назад
Me too How to solve it
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
@@GhostrunnerLi can you try password + reset security token? let me know if it works
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
@@GhostrunnerLi also did you try steps at 07:30 - Fixing Auth Errors ?
@user-qv6sv9sn6u
@user-qv6sv9sn6u 10 месяцев назад
nice video
@ThatSalesforceGuy
@ThatSalesforceGuy 10 месяцев назад
hey thanks alot! :)
@leosalles5338
@leosalles5338 11 месяцев назад
i´ve never quite understood the proper use of the maps input, output.... the snap came from your video. Thanks!!!
@ThatSalesforceGuy
@ThatSalesforceGuy 11 месяцев назад
Glad I could help @Leo 😀, do consider checking other videos! I'll be posting more soon, from basics to advance ✨
@ThatSalesforceGuy
@ThatSalesforceGuy Год назад
I will be publishing the REST API Framework soon, stay tuned! Edit : I was occupied with my personal life, 2024 is gonna be the best year ahead! I am working on few videos already :)
@user-uq7he3fg9x
@user-uq7he3fg9x Год назад
Great trying to cover API things. Please make one real life scenario on fully Integration where cover those things which is related to Integration. Nice Video 🤠
@ThatSalesforceGuy
@ThatSalesforceGuy 11 месяцев назад
Sure, I will be uploading the API Framework Video soon and Definitely a real life scenario as well, you can go through this custom rest api video before that --> ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-T9S6odjkxNE.html&lc
@divyasingh6593
@divyasingh6593 Год назад
Thankyou so much for this helpful content 👍
@ThatSalesforceGuy
@ThatSalesforceGuy Год назад
Glad you liked it :)
@saikrishna2972
@saikrishna2972 Год назад
Good to see this video .. please do more interesting videos which people might not know . Appreciate your work
@ThatSalesforceGuy
@ThatSalesforceGuy Год назад
Dear Sai, glad you liked it. I am working on a REST API Framework Video and some Best Practical Best Practices in SF, will upload soon :)
@uditamishra9217
@uditamishra9217 Год назад
Well Explained 👏👏👏
@ThatSalesforceGuy
@ThatSalesforceGuy Год назад
Thank you @udita
@sriramjonnakuti5635
@sriramjonnakuti5635 Год назад
I have searched a lot on RU-vid for inbound integration in Salesforce. Basically, I am from a Siebel background and transitioned to Salesforce with no formal training. I struggled a lot and this video in a sense saved me. I can't thank you enough for teaching me how to do an inbound Rest API integration brother. 🫂
@ThatSalesforceGuy
@ThatSalesforceGuy 11 месяцев назад
Glad I could help, I will be posting more content soon. Mostly from Basics To Advanced, Simple & Practical Guides!
@ningutej1
@ningutej1 Год назад
Great...but not visible clearly
@ThatSalesforceGuy
@ThatSalesforceGuy Год назад
@ningutej1 You should try watching this video in 1080p , it is crips and clear :)
@shikebrizvi306
@shikebrizvi306 Год назад
awesome explanation. its good video
@ThatSalesforceGuy
@ThatSalesforceGuy Год назад
Glad you liked it!