The Salesforce Trailhead team has done it again…They quietly released additional content on Friday. I’m constantly on Twitter and had I not seen Adam Olshansky’s tweet, I wouldn’t have known new content was released. What a Friday treat indeed!
The newest arrivals include two new trails, 4 modules and 1 project. This brings the overall tally to 21 trails, 71 modules (+ 2 retired) and 18 projects — making it 91 badges for bragging rights. Holy smokes, Batman! The Trailhead team has been really busy since the initial release of Trailhead in BETA.
Two trails, one for a beginner developer – Apply .NET Skills to Salesforce, and one for a beginner admin – Secure Identity and Access Management…
Beginner Developer Trail: Apply .NET Skills to Salesforce, comprises of two modules.
- The Database & .NET Basics module explains the differences between SQL and SOQL, how to write SOQL queries compared to SQL, including how to write efficient SOQL queries and manipulating records with DML.
While I’m not a developer, let alone a .NET developer, I benefited from this module as I know what SOQL and SOSL are, learned how to use workbench to construct a SOQL query (it’s a cool tool for learning how to construct SOQL), how to build a SOSL query and perform the search using the developer console. I’ve also learned about indexing and using the Query Plan Tool via the Developer Console for any SOQL queries that execute slowly. The Query Plan Tool was introduced in Summer ’14 and provides a developer insight into different plans, whether you should some of the filters indexed and it provides the cost of using the index compared to a full table scan. Do you developers know this exists?
- The Apex & .NET Basics module takes the learner through transferring .NET concepts to Salesforce, about execution context, when to use Asynchronous apex, and how to debug and run diagnostics.
Here, I learned the basics of Apex, with explanations of three collections (list, set, map) that work with Apex, references to apex in visualforce, how to create an apex class and invoke a method. Lastly, Trailhead explained the execution context, different trigger events, and how to write a trigger handler, trigger, test class and how to bulkify the code.
I want to thank Salesforce for taking the time to teach developers that just because they can, doesn’t mean that they should be coding every solution. Developers need to evaluate and consider whether a point-and-click solution does the trick or whether the best solution is code. I think, for many developers, it is in their nature to solution things via code and some have not spent the time to understand the declarative tools available. I am in camp of let’s use as much of out-of-the box, no code as possible, so was very happy to see this in the Trailhead modules.
This is noted in the first unit, Mapping .NET Concepts to Force.com…
“Because the Force.com platform is so tightly integrated and relies on a metadata architecture, you can accomplish an awful lot using declarative development, or what is known as “point-and-click” app building.
As a .NET developer, we know you like to code, but what you must realize is that on the Force.com platform, code is not always needed. But it’s important to understand when code is needed and when it isn’t.”
And in the next unit, Understanding Execution Context…
“Now we know how much .NET developers love to solve problems with code, but we have a super big productivity tip for you here. You only want to resort to using a trigger when you are absolutely sure that the same thing cannot be accomplished with one of our point-and-click automation tools. We’re serious about this one. If you are caught writing a trigger for a process that could have been handled by Process Builder or another declarative tool, we’ll come looking for you. Just joking! Sort of. We will come looking for you.
To make your life easier, Salesforce platform includes several automation tools, such as Process Builder, Lightning Process Builder, and Visual Workflow, for managing business logic without writing code. In most cases, tasks that could once upon a time only be accomplished with a trigger are now better suited for one of the automation tools.
If you’re a developer new to the platform, definitely take the time to check out the Process Automation module in the Developer Beginner trail before creating a trigger. We’re pretty sure that you don’t want to be known as the guy or gal who brought a lot of unnecessary technical overhead into the Salesforce org.”
Beginner Admin Trail: Secure Identity and Access Management consists of two modules
- The Identity Basics module explains what Salesforce Identity is, the benefits of Salesforce Identity for employees and customers/partners, explains the protocols used, what is SAML and the difference between identity provider initiated versus service provider authentication.
I’m extremely happy that there is now Trailhead content about identity/authentication that I can point my team members to. This module teaches the different ways a user can access Salesforce with content and a video. Users can log into Salesforce with more options than just the native username/password. The explanations of the three identity protocols used (SAML, OAUTH and OpenID Connect) are easy to understand. I especially appreciated the explanations about Service Providers (SP) and Identity Providers (IdP) and the flow of Single Sign-on (SSO). I wish this was around when I had to learn/understand this to implement SSO in my Salesforce org. The material that explained how to implement SSO wasn’t really easy to understand for an administrator. I remember being a bit lost when implementing SSO year ago, and was very thankful to our Salesforce PA, Shane Ray, for explaining this to me and walking me through the process.
- The User Authentication module talks about how to secure a user’s identity, how to configure a custom domain and login screen and establish single sign-on access for your users.
It is great that there is now online, simplified content to explain custom domains, SSO, two factor authentication to the community. The great thing about Trailhead is that people have the opportunity to create a custom domain via My Domain, set up th authentication method, customize the login page and 2 factor authentication in their personal developer orgs to try out, which, for obvious reasons, they can’t really experiment in their real environments without consequences (depending on where it is implemented).
Finally, Trailhead delivered a new advanced developer project: Build Hybrid Apps with the Mobile SDK.
This project steps through how to set up a connected app and using different approaches to develop a hybrid mobile app, using Mobile SDK Command Line Interface (CLI), Using the Cordova CLI, and installing the Salesforce Mobile SDK as a Cordova plugin, building an Ionic app (Ionic is a framework that makes the UI look and feel native on every platform) with Mobile SDK, and lastly, how to build a hybrid remote app.
I have to admit, I let out a big sigh and had great hesitation when I saw this was a Mobile SDK project. Here’s why. I really, REALLY struggled through the Develop with Mobile SDK trail as someone with an Admin, non-developer background. I’m not talking about a few hours to complete it. I’m talking about days upon days chipping away at this. Working on that trail involved installing several programs, using command prompts, installing node.js, building projects using Cordova, Eclipse, Android SDK, and using an Emulator to test the mobile app to work through those modules. None of which I do in my “real life” but as a Trailhead addict, I was determined to get that darn badge, no matter what it took!
First unit, I completed with no issue. Setting up a new connected app. Easy peasy. Feeling good. I’ve got this. As I started onto the second unit, I started to get not so good flashbacks to the Mobile SDK trail days. The difference and good thing with this project is that if you don’t have vendor SDK installed on your laptop, unlike the Mobile SDK trail, you can skip down to Step 4 to run the app via your browser using force-server. For those who are not on a MAC or on IOS, it is mainly written from that perspective. I do have to say, my knowledge from working through the Mobile SDK trail did help me here and while I didn’t complete this project in 1 hour and 10 mins, it took me a couple of hours, not days upon days this time.
This is how I felt after I finished the project and obtained the my 91st Trailhead badge.
Are you a Trailhead junkie like me and many others in the community? Is your name on the Unofficial Trailhead Leaderboard, managed by Adam Olshansky? If not, you need to get added and track your progress against your fellow community members.
Don’t forget to update your badges on LinkedIn as you progress, but adding it automatically by clicking on the “Add to profile” button after you receive your badge.
If you haven’t already, sync up your badges on your Success Community profile. Learn how to configure this.
If you need help on any of the modules, I suggest finding a Trailhead buddy in the Salesforce community. I’m an admin so I may need an assist from time to time on the developer modules/projects. I’m happy to have developer buddies in the community whom I can reach out to for help – recently minted Spring 16 MVP, Mohith Shrivastava or Adam Olshansky.