Previously, this meant spinning up your favorite editor, digging through the documentation and a lot of copy and paste. Thanks to the innovation coming from Salesforce Labs, there is a new tool that enables inline editing of Metadata/JSON as well as SAQL. Let’s take a look and see how much time you can save.
Wednesday, January 13, 2016
A Better Way to Manage JSON and SAQL in Analytics Cloud
Previously, this meant spinning up your favorite editor, digging through the documentation and a lot of copy and paste. Thanks to the innovation coming from Salesforce Labs, there is a new tool that enables inline editing of Metadata/JSON as well as SAQL. Let’s take a look and see how much time you can save.
Monday, January 11, 2016
Tips for Working in Multiple Salesforce Environments
In addition, as a Salesforce ISV/SI partner there are development orgs, branch orgs, packaging orgs, testing orgs, patch orgs, release orgs, trial orgs, and more. Throw in my company business org, the Salesforce Success Community and Partner Community just to make it fun. That's a lot of org credentials to remember and access on a daily basis.
Here is how I keep track of it all. My focus is on using Chrome, as it is my browser of choice and is available across platforms.
Friday, December 18, 2015
Top 10 Spring 16 Communities Features
Thursday, December 17, 2015
Learning About Apex Integration Services
Trailhead, the free, fun and fast way to learn Salesforce, has new content. There is a new Advanced Admin Trail that features modules on Advanced Formulas (which is a new module), Event Monitoring and Lighting Connect. Keeping with the Lightning theme, there are modules on Chatter and Data Management within the Lighting Experience.
For those Star Wars and Force (.com) fans out there, check out Build a Battle Station App project. The intro in the first step had me laughing out loud and is worth a read. Best of all, if you complete this clicks not code project by December 31, 2015, you have the chance to win awesome prizes like a Play Station 4 or Sphero Robot, check out the full details.
If you have completed the Application Lifecycle management module, you will want to check out the updates made to it. Finally, the module that caught my eye and one I want to dive into more detail is the Apex Integration Services.
Tuesday, December 1, 2015
How To Approach Manage Package Release Testing

Beta Packages
A great option in the packaging org is the ability to create beta packages. A beta package lets you create a package, install it into another org and test the package without having to commit to the components in a package. Conversely, with a managed package release version, the components are permanent. With each Salesforce release, there are additional capabilities for ISVs to remove components from released packages. However, certain components like global interfaces cannot be deleted or changed. In many cases, going right to a released version without final testing can leave you stuck with components you don’t want.Beta INSTALL org
My first step is a simple new installation test of the beta package. I have a dedicated beta test org that is dedicated for this purpose. I installed the package to verify that there are no unexpected installation problems (like the master/detail permission set issue) and to test out post install scripts.While many managed packaged do not include permission sets, I encourage you to consider adding them. A simple search of Ideas on the Success Community shows that setup hurdles with managed packages is a source of common complaint. Permission sets assist with the setup processing, making it easy to assign functionality to groups of users. While permission sets are great, it is not possible to include standard objects in permission sets for a managed package. In addition, a permission set that includes permissions on a custom object that is child in a master/detail relationship with a standard object will cause the install to fail.
My approach has been to include everything possible in a permission set that is installed with the app. While details are included in the installation guide to create the additional permission sets manually, it is not the best admin experiences. I had tried to create the permission sets as part of a post-install script, but the context that this script runs does not have permission to do this. Feel free to vote for my idea to allow this. Instead, I offer an apex class that can be installed in the org, executed to create the additional permission sets and then removed.
While performing a beta install test, I do not go through extensive post-install setup or create sample data. Any additional setup or data, must be undone to uninstall. Remember, the point is to test the install, not the entire app. You will be installing and uninstalling in this org, a lot. It is possible to install and uninstall the managed package through the API, which can be a time saver.
Beta Upgrade org
The second step in the process is to test the upgrade from the last released version of the package (betas cannot be upgraded). Here I have a second, dedicated beta upgrade org. This is installed with the latest, managed release version of the package prior to the beta. I would rather find out early in the process that there is an upgrade issue. Similar to the Beta Install Org, there is only minimal setup on the prior version. After upgrading to the latest beta, the package will need to be uninstalled to test again.To further facilitate the installation and setup testing, I am working on setup and teardown processes that will use the meta-data API to further automate the testing process. More on that in the future.
Beta Testing org
As I now know the beta package will install and upgrade, it is time for more thorough testing. It is best to start with new install testing first. I want to preserve my previously setup orgs for testing on the final beta version, where only potential upgrade issues exist. This helps to preserve more realistic data from the prior version. While I could use the Beta Install or Beta Upgrade org for this testing, it would defeat the purpose of quick and easy installs. In this org, it’s time to run the app through its paces, including testing of permission sets or profile settings with different users. Ideally, no issues are found and testing can move forward to the last step. If issues are found, its time to build a new beta version, uninstall and start testing again.Upgrade Testing
At this point, its time to test the upgrade from a prior version with full setup and data. As many package components are not upgradeable (such as page layouts, list views and reports), it is good to check out the upgrade experience as well. You can verify that upgrade notes accurately capture all of the needed changes. Saving this for last minimizes the amount of testing setup that is needed. In my case, I have a several different testing configuration to try out. Although, you may only need one depending on your app. It is worth mentioning that I have setup automated data loading to get an environment up and running quickly. All of the data needed in an org is loaded with a master script using data loader from the command line.Managed Released
One of the best benefits using a beta is moving to a released version. Uploading a new package is simply changing a radio button on the package. No package content has to be changed, which means no room for error. This ensures what was tested against is what you release. Remember, to go through and deprecate any beta packages created during testing. This will not effect any installs, but prevent any new installations from occurring with this package version. Finally, I go through one final smoke test by installing the managed package. I will do this into the Beta Upgrade org, after uninstalling the beta version. I will need the new version installed here next time. While this is probably not necessary, I don’t want the first customer experience to be a failed install.Wrap Up
With the above steps, I am confident in the app that I am releasing to customers. Let me know your thoughts and if you have a different approach to release testing. For example, if you are using a throw-away test namespace and going right to managed released version, I would enjoy hearing your results. I am always looking to make the process better and faster.Tuesday, September 22, 2015
Dreamforce 2016 Prediction - A New Learning Cloud
After another exciting Dreamforce full of new technologies like the IoT Cloud and customer success, it is a good time to reflect on what was shown and turn an eye to the future. Here is my prediction on what we will see from Salesforce in the next year.
The Past
Dreamforce 14 saw the launch of Trailhead, a new online, guided learning tool from Salesforce to help developers gain knowledge on the platform. In the year since launch, the content and capabilities of Trailhead have expanded greatly. In addition to developer trails and modules, there is content for admins, users, non-profits and ISVs.
Salesforce’s launch of the Lightning Experience was backed with extensive training in Trailhead for users, admins and developers. Finally, the Developer Zone at Dreamforce was all Trailhead all the time, complete with a cool, national parks motif and tons of opportunities for hands on learning.
The Future
I believe next year’s Dreamforce will see the launch of a new cloud – the Learning Cloud™. With the underpinning technology that drives Trailhead, it is time to make customers, partners, non-profits and all stakeholders successful in their educational efforts. Here is how each constituent will benefit from the Learning Cloud.
Customers
Have you met a customer that does not have the need to train employees? Because, I have not encountered one. The obvious application is to train employees of the Salesforce system, including specific customizations and apps. However, the Learning Cloud can do so much more. The onboarding that every new hire must complete, from HR to IT, can live in the cloud.
While I have not heard many people speak excitedly about compliance or HR training, it is time to change the experience. Do not discount the gamification aspects of earning points and badges while competing with others. Leaderboards for new hires, departments and team adds an element of fun and peer pressure to keep up with co-workers. Through integration with Work.com, a manager can setup and track progress on training goals for their direct reports. Executive dashboards in the Analytics Cloud provide insight into the organization’s skill set and corporate readiness to pursue new ventures.
Employees are only half of the equation for Salesforce’s Customers. The application for the Customer’s end Customer is extensive. Need to train operators on a new model of industrial equipment, the Learning Cloud has you covered. The same is true if you need to certify partners on your solution or service. Applications can be applied to Business to Consumer application as well.
Looking at the gamification aspects again, consumer behavior can be easily incentivized. Individualized customer journeys can be setup in the Marketing Cloud to provide a reward code, special level, or discount offer for your active participation in learning activities. As many products and services have lost their distinguishing characteristics from competitor to competitor, companies need a way to stand out. Differentiating yourself based on educational capabilities is one more way to avoid competing solely on price.
SI Partners
The System Integrator partners are in the business of implementing the various Salesforce clouds, including the development of custom applications in the App Cloud. There is no better way to complete the roll-out and onboarding phase of an engagement then having learning management built into the same platform. Whether the need is for technical or business process training delivered on-demand or in person, the Learning Cloud covers the need.
We all know how difficult change management is, especially in larger organizations. Overall training on the why, where, what, when and how of the change can be distributed in advance of go live. Additionally, help within the applications can point directly to the correct modules, providing relevant, contextual help when a user needs it. Creating this educational material, which can be updated and expanded as the solution evolves, only adds to the benefits of developing on the Salesforce customer success platform.
ISV Partners
The case is even stronger for existing partners developing apps sold on the App Exchange. With packaged application development, there is always the need to produce educational materials for administrators and end users. The old approach of writing a user manual that sits unopened on someone’s desk clearly does not drive engagement and success.
Rather than wasting time creating an unread manual, which frustrates users and the content creators, engage with focused modules including interactive content based on actual app usage. For example, analysis of usage metrics can help identify where additional training is required.
Integration with the Learning Cloud can go a step further to build compliance into the solutions. For example, if employees must successfully complete Personally Identifiable Information (PII) training before access sensitive data, the app can block access for the user until the PII module has been passed.
New Partner Opportunities
With the introduction of the Learning Cloud, new opportunities for partners will emerge. The first is for SI-like companies. These partners will be educational theory and/or content creation experts. The partners will help advise customer on how to setup effective learning modules and paths, including assessment structure to accurately measure understanding. In addition, these types of partners will help structure effective lessons and questions, as well as the graphics, videos and interactive content that make learning effective.
The second category of new partners will follow the path of current ISV partners. The Learning Cloud becomes a platform for them to reach customers that have nothing to do with Salesforce. Need to provide training to customers, these partners will have a range of Learning Management Solutions to fit your needs. Think of the current solutions provided by companies like Pluralsight or Udemy. No longer do they need to focus on the mechanics of delivering training. Instead it is about the content an making trainees successful.
Non-Profits
Salesforce is a strong supporter of improving the world through its Salesforce Foundation and 1-1-1 model. While there are many applications for the Learning Cloud in the non-profit space, a couple applications come immediately to mind.
We have an education system that is not as effective as it should be. With the Learning Cloud, we could flip how we teach students and improve outcomes. Rather than having students be introduced to topics at school and reinforce the learning at home with homework, the opposite approach becomes possible. Use modules to introduce concepts to students, including video, interactivity and initial assessment quizzes. Homework then turns into schoolwork with the supervision of the trained educator who is versed in educational theory and techniques.
If revolutionizing the educational module is too radical of an idea, applications remain with the current approach. What parent hasn’t struggled at one time or another when assisting a child with homework? Whether a refresh of the topic at hand or a better understanding of how concepts are being taught, parents can finally have a resource to help their children learn. Add in a connected Community Cloud where parents and educators can work together to ensure no child is left behind to amplify the effect.
Within the Salesforce community, there are multiple outreach groups to bring targeted populations to the platform. For example, Girls Who Code or Vet Force reach out to specific segments of the population. Part of the mission of these organization is to expose their constituents to Salesforce and how to utilize the platform. Being able to customize cotenant focused on their member’s needs furthers engagement and participation. In person learning contests and hack-a-thons are much easier to organize and deliver with a platform to facilitate the event.
Be Prepared
With a relentless focus on customer success and so much need in the learning management space, the Learning Cloud seems like a natural next step for Salesforce. For the LMS companies out there, consider this your warning. Salesforce is coming and will disrupt your market. Most of you are not even aware of the threat.
As an avid user of Trailhead since its launch in 2014, I am excited to see what the next year brings. Think about all of the content you would publish to the Learning Cloud in order to educate your stakeholders. Then patiently hold your breath for the next big thing to be announced.
Tuesday, September 8, 2015
Learning Lightning with Trailhead

With the global preview on August 25, four new, Lightning-focused modules were released in Trailhead. The new modules range from the Sale Rep’s experience as an end user through everything Developers should know about Lightning.
If you are an Admin, don’t worry there are modules for you as well. If you are starting out as a new admin with Lightning, check out Starting with Lightning Experience. For admins planning a migration, Migrating to Lightning Experience helps you understand the new experience and plan a successful migration.