Friday, 17 June 2016

MS Dynamics – not just CRM but xRM



Microsoft has really put its weight behind the development of the CRM platform and its success is pretty evident with the fact that the platform has evolved exceptionally over time. Now that the Microsoft’s development team has delivered and done one heck of a job at that, it’s time for the marketing team to match that level.



They can simply start by re-branding the product as xRM. Confused? Read on.

The product is still marketed primarily as a CRM tool. Customer Relationship Management (CRM) is an approach for managing a company's interaction with its existing and prospective customers.

When you look at the current features of the platform, CRM is almost a misnomer, since it is capable of so much more!  It is now ready to be used as a fully functional, independent development platform, quite justifiably so.
  • Highly scalable, secure and robust architecture
  • Extremely flexible security model
  • Highly customizable user interface development using web resources
  • Powerful built-in workflow engine for business process automation
  • Ability to expose and consume web services for programmatic manipulation of data and integration with legacy systems
  • Seamless integration with SharePoint, Outlook, MS productivity suite, MS Social Insights, ADX Studios portal
  • Availability of a large number of third-party components
  • Multiple deployment options, including On-Premise, Online, and Partner Hosted

The possibilities that this platform comes up with are endless with its capabilities. However, in order to completely utilize the power of this platform, it would be wise if it is used to do what it already does best- MANAGE RELATIONS.

If you have been to a B-school, you will know and agree that those countless case studies eventually boil down to ONE thing- Managing and nurturing BUSINESS RELATIONS, not  just with your customers, but suppliers, employees, stakeholders, general public. Great businesses are built on leveraging their knowledge of customers, suppliers, stakeholders, and exerting their influence on them. The faster you are able to analyze their sentiment, the faster you will be able to act on it and gain an edge over your competitors.

Unfortunately, there isn’t a complete solution out there which lets you manage relations. Granted, there are name sake modules for those in ERP but they are more transactional in nature and are grossly incapable for the intended purpose.

MS Dynamics CRM can easily be extended into xRM. An xRM should be a generic relationship management solution which should have a 360 degree approach in managing customers, suppliers, public relations, and just about any relationships the company wishes to manage.


Let’s explore a few use cases where standard CRM functionality can be easily extended to xRM.

 

Public Relations Management

Public Relations Management is extremely crucial in today’s era and United Airlines sure can vouch for it. A PR disaster cost them a whopping 180 million dollars (look up ‘united breaks guitars case’). People’s satisfaction level doesn’t reach you directly anymore, they broadcast it on social media.

Social Insights from Microsoft Social Engagement allows businesses to analyze and measure their brand’s perception using social media trends. The tool also provides granularity and allows users to drill down into the data and see what the users have said. By consolidating the details from Dynamics CRM or Dynamics Marketing, you can find out what you’re doing right, and address potential issues before bigger problems arise.

Supply Chain - Forecasting

One problem plaguing the manufacturing sector is not being able to manage its supply chain optimally. Raw materials usually have a usually long lead time while the orders are placed / modified at a moment’s notice. This can translate to either of these scenarios:
  • You over stock raw materials, which is very risky in a volatile price market
  • You lose out on orders because you cannot fulfill them

This problem is only compounded further due to the lack of right talent / knowledge.  Employees responsible for ordering / managing supply chain are barely proficient in advanced forecasting models and tools.

One solution to this problem is to utilize the rich information in CRM of the expected pipeline; which when combined with brilliant analytical capabilities of the platform can be used to build automated forecasting models.

Donor Management (NGO / NPO)

It’s intriguing to see how the requirements for NGOs and NPOs can be mapped to standard CRM OOB (Out of the box) entities.
  • ‘Donor profile management’ maps to ‘Customer Profile Management’.
  • ‘Donation management’ maps to Leads and ‘Opportunities Management’.
  • ‘Campaign / fund raising management’ maps to ‘Campaign Management’.
  • If there is even further additional information that you need to capture then they can be easily built using custom entities and web resources.

 

Recruitment Management

You can provide a portal to publish job openings and accept applications using ADX Studios portal. ADX Studios was recently acquired by Microsoft and has seamless integration and access to all CRM entities.

Each application can then be mapped to the standard sales and opportunities processes of verification, multi stage qualification, multi stage evaluation and quotation (offers).

These were just a few examples of what can be achieved using MS Dynamics CRM platform. Move over CRM, xRM is here!





Written by Prasad Udupi, Microsoft Dynamics Expert at Eternus Solutions
Read More »

Wednesday, 15 June 2016

Office 365 – A new collaboration Platform for Non-profits..!! Are you ready to move to Cloud?

Do you want to free yourself from the hassles of maintaining an in-house Exchange Server? Is your staff spread across several locations? Do you have budget constraints for IT support like installations and upgrades? Then Microsoft Office 365 Nonprofit may be right for you!



Even today, many Non-profit organizations have been buying various software’s to fulfill their requirements. Furthermore this strategy also involves Infrastructure costs, Application Maintenance, Data management and a full-fledged IT staff to help them maintain these products. Heretofore, Microsoft has offered free or low-cost cloud-based office services that non-profit organizations are uniquely qualified for.

It is no longer the case that the best in class technology solutions are only offered to the organizations with huge budgets. Office 365 Nonprofit, makes enterprise-level technology affordable for non-profits in over 130 countries including India.

What is office 365 for Non-profits?

As part of "Technology for Good" program, Microsoft donates its cloud-based Office service (Office 365) to all qualifying non-profit organizations.

Office 365 Non-Profit is the core cloud service that offers significant benefits to non-profits which includes free email, online document editing and storage, video conferencing, instant messaging, and Yammer site, you can bring teams together from around the world.

Empower your business to succeed with Office 365 non-profit

Office 365 allows organizations to spend less time on IT maintenance by providing email maintenance, software upgrades, and security. This will help you run nonprofit more efficiently, securely, and less expensively. Non-profits can focus more on accomplishing their mission.

Compelling reasons why an Office 365 subscription is the choice for non-profits:
  • Global Access
    Access on the go from anywhere, anytime and from any device. With Office Web Apps, you can open, view, and edit office documents right from your browser giving the flexibility to work wherever and whenever you need to.
  • Brand your organization
    Market your business with online website using your own domain name, without needing a designer or paying hosting fees
  • End User Adoption
    End-user adoption is the key factor to all successful cloud services decisions. With office 365 Non-Profit, end users are provided with the latest version of traditional Office suite that your staff is already familiar with.
  • Business class email and calendaring
    With Microsoft Exchange Online, you don’t have to manage an in-house Exchange server or rely upon third party email tool. Office 365 provides users with 50GB of mailbox storage with attachments up to 25MB each.
  • Online conferencing
    Showcase your business and impress your target audience by utilizing online HD video conferencing and screen sharing features. Office 365 offers powerful communication tools like Lync Online, audio and video conferencing online making collaboration easier. You can even invite people or volunteers outside of your organization to join.
  • Secure File Sharing
    With Office 365, you get 1 TB of space for OneDrive for business. Share, store and Collaborate on information with volunteers or co-workers securely with OneDrive for business.
  • Best Productivity and Better collaboration
    Work together and smarter. Share Documents online with real time collaboration and coauthoring. You can edit documents simultaneously with co-workers, improving productivity and saving you precious time.

Non-Profit success with Office 365

  • Raise more and bigger donations
  • Connect staff, volunteers and listeners 24/7
  • Encourage creativity and collaboration
  • Transition seamlessly between devices, and Expand beyond geographic boundaries
  • Double their outside funding
  • Collaborate on important documents and reports
  • Create a more efficient workflow
  • Created work for more volunteers and increased their productivity
  • Increased productivity
  • Effective communication with stakeholders from anywhere

What we offer to Non-profits?

Choosing the right cloud solution increases your organization's efficiency, saves on technology costs, and fosters your best collaboration
    - Microsoft for Office 365 Donation initiative.


Eternus Solutions offers you its vast experience of Office 365 non-profits and helps you to accomplish adoption as well as the implementation to ensure and maximize the value obtained by providing the professional assistance you need. We can help your organization evaluate the costs and benefits of Office 365 to determine if it is the best solution for your business. We think that the cloud based solutions are most cost-effective and sustainable for non-profits.

We will work with you to ensure that you are benefited by the best discounts you’re entitled to.

Our services for Non-Profit include:
  1. Assessment and Planning
  2. Office 365 Implementation & Migration
  3. CRM for non-profits

For more information on Office 365 Non-profits visit Microsoft Office 365 Nonprofit site and sign-up for the free trial to get started.




Written by Aradhana Chindhade, Microsoft Technologies Expert at Eternus Solutions
Read More »

Monday, 6 June 2016

Angular 2.0: A revolutionary angle!


Hello there! We are right nigh to the final release of Angular 2.0, which means it's time to decipher what this excitement means to the developers’ community and understand the business impact of this new framework backed by none other than Google Inc.

Angular 2.0: A brief history


At the ng-Europe conference on 22nd September 2014, the Angular Team announced its next major release, a.k.a Angular 2.0, disclosing that there would be a drastic change in the codebase and semantics. To everyone’s surprise, they also announced that Directives, Controllers, $scope and jqLite will be dropped off, clearly indicating towards breaking all the compatibility with existing codebase.

Understandably, this created a huge uproar amongst the developers, with the absence of migration path from 1.x to 2.0 versions causing a lot of confusion.

With the growing popularity of other frameworks like ReactJS and Ember in late 2014, the Angular Team decided to restructure their core architecture in order to meet the market requirements and build the best ever JavaScript Framework while ignoring the animosity from the community.

On 30th April 2015, when AngularJS was moved from Alpha to developers’ preview, it caused a big hullabaloo in the market to see this new code structure. As promised, many features were drastically changed and the compatibility with previous versions was totally ruled out. This resulted in some amount of disappointment. However, most of them were excited to ride a new wave in the field of front end technology which was about to begin. In December 2015 Angular 2.0 was moved to the Beta phase, pushing it closer to its final release. Once again AngularJS became the talk of the town for front-end developers!

Why we should not ignore this wave?

  • AngularJS is powered by Google Inc.(need I say anything more?) which further increased its community size, making it one of the largest used front-end development framework.
  • Increased community results in increased count of plugins and support which will grow this framework further. Very soon, it is expected to become "The Framework" which cannot be ignored while talking about JavaScript based UI development.
  • Although google has declared in ngConf 2015 that it will continue its support to 1.x version till the community continues to use this, in order to push its new baby in market, Google might take a decision of invoking the support after a stable release of 2.0. This might mean that no new features are released in the existing code base.


What benefits can Angular 2.0 provide to my Application?

  • With restructuring of $watch, overall performance of Angular 2.0 has drastically improved when compared with Angular 1.x. The team which built Angular 1.x is the same team working on Angular 2.0, opening up their weekly status meeting to the community, hence carrying their extremely valuable experience of previous version along with the constructive criticism from community, ensuring this framework becomes far better than the previous version
  • Binding technique in Angular 1.x was based on ng-modal. Instant change in Javascript POJO was one of the main features of Angular 1.x to make this framework very popular amongst the developer community. Let's see how it works.
    • Angular creates patch points for all the asynchronous interactions with the form on page load.
    • On these patch points, Angular runs a dirty checking on scope object to see if any of the associated variable is changed. If so, it triggers the corresponding watchers.
    • These watchers in turn synchronize the UI and modal value through multiple dirty-check and run-watcher cycles.
    • Problem with this approach:
      • It is not clear which watcher will be fired in which sequence. Additionally, it is difficult to predict the number of times these watchers will be called.
      • Digest cycle consumes considerably large number of resources so although this technique just about works, there is a great scope of improvement.
      • It is extremely difficult to control the sequence of model update cycles. Registering a dependent listener is very risky.
    • How Angular 2.x solves this problem.
      • Angular 2.x has adopted a zones mechanism which is equivalent to a local-thread model in any of the multi-threaded languages. This increases the data update to be more transparent and also avoids the need for a conventional digest cycle.
      • This blog gives more clarity on how Angular 2.x change detection system improves the performance over conventional digest cycle approach.
  • Many new integrated features, including flexible routing in Angular 2.0, have reduced the dependency on third party libraries. It has also dropped off the less used modules, understanding the real need of common UI development. These changes will make this library more lightweight and less error-prone. Below is a code snippet to understand how Angular 2.0 has simplified routing to great extent.

  • Development of Angular 2.0 version is focused towards the mobile platforms. The thought behind this focus is that it’s easier to handle the desktop side of things, once the challenges related to mobile (performance, load time, etc.) have been addressed.  The 1.x version was not designed with this approach. Although Ionic framework was helping the usage of angular 1.x on mobile devices, performance wise it was still very slow.
  • Angular 2.0 is based on Typescripts which provides compile time error handling. This feature helps developers understand the errors well in advance, reducing the bug fixing cost and make the development process almost twice as faster. Angular team is also planning to release this framework in multiple variants that supports Dart and plain ECMA6 as well.
  • Annotation support and improved dependency injection (DI) will reduce number of lines of code to improve maintainability.
  • Simplification of language syntax has reduced the learning curve of Angular 2.0 to great extent. However, a considerably good online tutorial can help you easily put this weapon in your quiver. This will help rapidly ramping up the team to get started. Given below is a code snippet of Angular 2.0  which appears to be quite simple for any beginner level developer compared to the code snippet in second window.

    Angular 2.0 code snippet

    Angular 1.X code snippet

  • Lazy loading was one of the biggest challenges in Angular 1.x. Yet some third party libraries like ocLazyLoad and requireJS had enabled this feature in angular 1.x. Ideally a framework itself is supposed to provide this lazy loading feature in order to maintain a better hierarchy of modules and corresponding files. Considering this limitation in 1.x, Angular team has addressed this issue in 2.x and have come up with considerably better lazy loading techniques. This blog gives a better idea about how Angular 2.0 has approached to solve this issue using asynchronous routing techniques.

Is there any bitter bite as well?

No technology is perfect enough to meet all the expectations of community. Angular 2.0 is no exception to it. Let's highlight some of the challenges associated with Angular 2.0
  • Huge number of applications have been built across the globe based on Angular 1.x framework. As the direct migration path is not given by angular team, migration of these existing projects in Angular 2.0 is going to be a real challenge for the community.
  • Although thousands of blogs and tutorials are already online, a real enterprise product experience of this framework is yet to come out.
  • Release date of this framework is still not fixed, resulting in an uncertain wait.


The Last Word…

There are still lot of things to be analyzed as Angular 2.0 framework is coming with a lot of promises for the UI developers community. Till the beta release, it has already fulfilled many of them. It is clear that Angular 2.0 is going to revolutionize UI technology to great extent and begin a new era of UI development.

Happy Coding…!!




Written by Mahesh Kedari, AngularJS Expert at Eternus Solutions
Read More »

Wednesday, 1 June 2016

Why Use Marketing Cloud?



“Companies are no longer competing against each other. They are competing against SPEED” – Marc Benioff


Today, to achieve the speed of a winner it is imperative to have a strong bond between business outcomes and the journey of your customer. Organisations with effective marketing channels are guaranteed to build and maintain successful relationships with their customers. This relationship is what adds on going value to the diverse service offerings, which a vast majority of businesses offer. These relationships enable and drive the sales team to cross-sell and up-sell multiple offerings. In this blog, let’s look at how Salesforce’s Marketing Cloud can add value to your business. The Marketing Cloud is a leader in the 2016 digital marketing hub quadrant, let us see if this could be the game changer, which can give your marketing and sales team the boost it needs.

Why do you need marketing cloud?

Would you like to send your customer the right advert at the right moment? Or, would you like to check what people want to say about your product on social networks? Assume that you want to reach out to all your customers via an email or an SMS, and want to evaluate the impact of such campaigns, all of this is possible with Salesforce Marketing Cloud.


Figure 1: What does marketing cloud offer?
(© Slideshare - Marketing & Service cloud - breakout session. Stockholm Essentials)


Salesforce marketing cloud is a platform for your marketers which enables them to create a 1:1 bond with each individual customer, thereby increasing your organisations brand value. It helps define and create a journey for your marketer with your customers, nurturing them in each stage, across multiple channels using one platform.


Who should use marketing cloud?

Salesforce Marketing Cloud is suitable for B2B, B2C or not-for-profit organisations. It may be big brands, who are looking to evaluate and streamline their customer campaigns; or SME’s who are looking to build and grow their brand value; the marketing cloud is suitable for anyone who wants to create a 1:1 (i.e: personal & effective) relationship with their customers. It enables organisations to have resourceful engagements with customers at every step of a customer success journey through Ads, Web, Email, Mobile, Social, Group Messaging, Apps, Sales, Service, and Communities.


Figure 2: Typical marketing cycle without marketing cloud
   
Figure 3: Typical marketing cycle with marketing cloud

The marketing cloud allows organisations to create user journeys and use multichannel campaigns to reach out and build relationships. This platform will streamline and give you a comprehensive view of all your interactions with your customers across multiple channels. It therefore enables you to measure the effectiveness & ROI of your marketing initiatives. Organisations can benefit from the era of digital marketing by earning customers interest instead of buying it, and thus, smoothly transition from an inbound marketer to an outbound marketer.


Which parameters should one consider when they are on-boarding the marketing cloud?

Based on the maturity level of your organisations marketing endeavors, and marketing approach (i.e. outbound vs inbound marketing), a combination of the following parameters should be considered:
  1. Features: Tools such as Journey Builder, Contact Builder, Predictive Intelligence, etc. which are license based. One should select from these features and licences based on the type, channel and frequency of interactions they would be having with their customers.
  2. Cross Channel Capability:  Email, Mobile and Social networks are the channels SFMC leverages to engage with their customers. Perform analytics on data from existing channels. Identify which channels your customers prefer, to reach out to you. Also, identify which channels your customers prefer, to hear from you. Use this data to help build (and track) customer journeys within and across multiple channels.
  3. Easy Integration: Salesforce has capabilities to connect with multiple CRM’s or an array of third party tool. Marketing cloud can be connected to Sales and Service cloud instances to bring in your customer’s data into the marketing cloud.
H: High, M: Medium, L: Low

What can a successful marketing cloud implementation do for you?

A successful marketing cloud implementation helps you:
  1. Unify Data: Obtain a singular view of all your customer data / interactions you have had with your customers, and use this to make informed and targeted decisions.
  2. Personalise Journeys: Send out timely, unique, and relevant messages based on real-time customer behavior
  3. Engage Cross – Channel: Deliver relevant and meaningful content to your customers across multiple channels such as e-mail, mobile, social networks, ads and the web
  4. Analyse Impact: Analyse the impact of your business on your customers behavior and use that to optimize every interaction you have with them
Figure 4: Typical use case of social marketing with marketing cloud





References:

  1. https://www.salesforce.com/connections/
  2. https://www.marketingcloud.com/ 



Written by Kalpesh Gandhi, Salesforce Champion at Eternus Solutions
Read More »

Thursday, 31 March 2016

10 Commandments of Force.com Programming

Howdy Force.com programmers? Programming in a multi developer ecosystem like Force.com is nothing less than a band of musicians playing in an orchestra. Different instruments produce vivid tones, but exist in harmony, churning out a beautiful melody. Similarly, keeping the originality of each developer intact, yet ensuring the code adheres to common basic protocols, is of prime importance. Adding a method to the madness is required here!

After going through multiple articles concerning the best practices around Force.com programming, I deduced that although a lot of those struck the right chord, some, however, seemed to lack practicality while writing code.

This led me to the idea of writing of this blog to share an exhaustive checklist that ensures uniformity through basic standards  and is practical to use while programming on Force.com.

I call them the "Ten Commandments of Force.com Development" and here they are....


#
Thou Shalt...
Practice
1
NOT CODE unless it is really required. Use Workflows, Approval process, Validation Rules, Roll up Summary fields, Formula fields, and Process builder etc. to accomplish the requirement.
2
Always ensure general coding sanity.
  1. Don’t hard code IDs or String values. Use custom settings, Constants (static final variables) or Custom Labels instead.
  2. Always check for nulls within code. Use String.isBlank() or  list.isEmpty().
  3. Use String.equalsIgnoreCase() instead of equality operators(== or ===).
  4. Use meaningful naming conventions for variable, class, test class, trigger and page names. e.g. (MAX_ATTEMPTS, isActive, commissionControllerTest, AccountTrigger, viewCommissions).
  5. Document your code using class and method level comments.
3
Not use SOQL statement or DML operation within loops. Always use Lists, Sets, Maps to your code. Use SOQL for loops wherever applicable.
4
Always use nested or Inner SOQL queries to fetch parents and associated child records Use selective SOQL Queries using appropriate WHERE clause, filters on indexed fields (Name, Id, Unique fields) to fetch appropriate result set optimally.
5
Ensure creating only one trigger per object Use the Trigger Handler Framework to ensure execution control, Trigger Context Variable, Recursion checks.
6
Optimize Visualforce page view state for performance. Use transient variables, minified Javascript files, Streaming API, Standard Set controllers, and remove unused variable.
7
Always ensure error logging and reporting within your code. Use try, catch or email to catch and report errors within your code.
8
Always enforce security in code. Use with sharing, FLS checks, CRUD checks, Escape URL parameters to ensure authorized access.
9
Always write unit tests based on test cases. Use Test Data creation framework along with the @isTest, test.startTest() test.stopTest(), System.assertEquals(),bulk test data, different users / Profiles, WebServiceMock, 90% code coverage and check for limit uses.
10
Always ensure modularity and reusability in code
  1. Refactor method having > 45 lines of code into smaller methods, merger multiple line of code into a single line.
  2. Remove unused variables, System.debug(), alert().

In addition to using these 10 Commandments as a guideline, Force.com programmers performing code review can use this as a tool to patrol their Force.com implementations.

Happy Coding and “May the force be with you!!”



Written by Parmanand Yadav, Salesforce Champion at Eternus Solutions
Read More »

Wednesday, 30 March 2016

Your Live Agent Adventure Begins Here..


Salesforce gives me a chance to fall in love with it again and again when I come across the splendid features it dispenses. Less did I know that I will be able set up an application that would help me interact with people from worldwide? Yes, I have done it! And even you can do it. How? The solution is LIVE AGENT.

Live Agent enables, support agents to talk to their customers in real time. It is a remarkable feature provided by Salesforce that facilitates us design WEB CHAT which is a faster and a more personal way for you to engage with your customers. So, in a nutshell, live agent helps us do our favorite act i.e CHAT!

Setting up Live Agent is a piece of cake. Following are some noteworthy points that one must consider while setting up live agent.

1) SKILLS

A skill is an ability to do something well. In Live agent, we are provided with a facility to configure skills. A skill is required so that the chats are routed to the right agent at the right time. If there are support agents who are proficient at answering technical queries related to a product, then a skill can be configured for such agents. Once we create a skill, we have an option to assign users to this skills.


2) LIVE AGENT CONFIGURATIONS

This amazing facility enables us to control the features that will be available to the agents and supervisors in the Service cloud console. Supervisors are the ‘agents’ who can monitor the ongoing chats. Features like notification sounds, supervisor management are all configured in live agent configuration. So, one can configure it as required.



3) CHAT BUTTONS AND AUTOMATED INVITATION

A chat button enables us to configure buttons which are to be placed on the site from where chats can be initiated. Every chat button has an associated skill with it and after configuring it, a button code is generated. Buttons allows us to control how to route the chats to the agents, which prechat and post chat pages must be used, what should be the agent queues lengths etc. Along with chat buttons we have another type of button “automated invites”. These are animated buttons which can popup on sites.

 

4) CHAT DEPLOYMENTS

When we configure a chat deployment, live agent generates a script for us which is to be included in a HTML page along with the chat button. This is the HTML code which should be hosted on the site in order to initiate chat sessions. Additionally, we can also control chat window branding and pre chat API access through chat deployments.



After we configure all the above there a challenge that, SF withholds us from adding one user to multiple live agent configurations at a time.

Consider a plot, where an agent is proficient in "Customer Service" as well as "Technical Support". Such an agent will have a mandate to be present in 2 "live agent configurations".

SF disallows this! If you assign the same user to a second live agent configuration, the system removes that user from the first live agent configuration without warning you.


HOW TO deal with this?
  1. Configure 'SKILLS' in such a way that the agent is included in both Customer Service and Technical Support
  2. Configure 'BUTTONS' for both the skills
  3.  Configure a 'LIVE AGENT CONFIGURATION' that includes the Mathematical UNION of the above skills.


Woo-hoo! That solves it!

To learn more:


https://developer.salesforce.com/docs/atlas.en-us.workbook_service_cloud.meta/workbook_service_cloud/service5_intro.htm




Written by Neha Sonawane, Salesforce Developer at Eternus Solutions
Read More »

Thursday, 10 March 2016

My Experience with the Salesforce Platform Developer I Certification

While soaking in the glory and accolades of my peers after passing the Platform Developer 1 Certification, quite a few people asked me for preparation tips. And suddenly it struck me! My experience could be of value to a lot of guys out there! Result… this blog, where I share my preparatory regime, experience and some tips (if you can call them that!) to help you appear and pass the certification exam.

Platform Developer I: a little Background

Last year, Salesforce announced changes to their Salesforce Developer Certification roadmap. The previous structure of the developer certification track was from Dev – 401 certification to Dev – 501 certification. However, from September 2015, Salesforce no longer offers Dev – 501 credentials to new applicants. The new certification structure enables an individual to advance through the Salesforce track in a step - by - step manner, from the Dev – 401 certification to Developer I (Programmatic) & Developer II (Advanced Programmatic) certification.


Former Structure

New Structure


Note: There are no changes in the syllabus; Salesforce has simply split the entire syllabus into two parts:
  • Platform developer 1 exam (Basic apex concepts)
  • Platform developer 2 exam (Advanced apex concepts)

Exam Format

You will find a lot of similarities here with the 401 exam but a little more time! ☺
  • 60 multiple-choice questions  
  • 105 minutes allotted to complete the exam (i.e. you have a little less than 2 minutes per question!)
  • The passing score is 68%, meaning you have to get at least 41 correct answers out of 60, which in turn leaves you with a margin of getting up to 19 questions wrong! Trust me, this was one of the most comforting factors!)
  • Registration fee: USD 200; Retake fee: USD 100
  • Delivery Option: Proctored exam delivered onsite at a testing center or in an online proctored environment, as mandated by Salesforce
  • Result: Provided immediately upon submission of exam as an on-screen text and by email.

Preparation

The Salesforce Certified Platform Developer I credential is for individuals who have knowledge, skills, and experience of building custom applications on the Force.com platform. This credential covers the fundamental programmatic capabilities of the Force.com platform to develop custom business logic and interfaces to extend Salesforce using Apex and Visualforce.

Anyone who's been working on the Salesforce platform for a while and has substantial experience on the OOTB (Out of the box) as well as custom development areas, can easily clear this exam by just revising the topics listed in the certification guide.


Topics

The questions are pretty much taken from the topics listed in the certification guide and the % of questions from the topics are similar to what is mentioned in the guide.

Sr. No.

Topics

Weightage (%) as per Salesforce Guidelines *

Weightage as per My Experience

1

Multi-tenant environment

3

Low

2

MVC architecture

3

Low

3

AppExchange

3

Low

4

Data Model & Management

12

Medium

5

Logic and Process automation

46

High

6

Visualforce (User Interface)

6

High

7

Lightning

4

Low

8

Testing

12

Medium

9

Debug & Deployment

10

High



Multitenant Environment

Tips:
  • Read benefits & constraints of sharing a single instance with multiple clients, and how enforcing limits helps to share the resources between the clients
Topic Content:
  • Benefits & constraints of sharing a single instance with multiple clients

MVC Architecture

Tips:
  • Questions simply ask which part of the Salesforce platform is related to Model / View / Controller
Topic Content:
  • Model / View / Controller architecture concepts

AppExchange

Tips:
  • A thorough understanding of managed and unmanaged packages, along with their usage covers most of the bases for this topic.
Topic Content:
  • Uses of managed package vs unmanaged package

Data Model & Management

Tips:
  • Questions were scenario based but quite simple. Concentrate more on object relationships (i.e. Master-Detail / Lookup) and different scenarios around them.
Topic Content:
  • Lookup and master detail relationships and security information
  • Usage of External ID fields
  • Import / Export data concepts
  • Operation (Create / Delete) of Schema builder
  • Evaluate the impact of schema design and its modifications, on Apex development

Logic and Process Automation

Tips:
  • Almost all questions will be scenario based or code snippet based!
  • Save execution order of apex triggers (Very very important!!). Questions will be tricky.
Topic Content:
  • With sharing and without sharing concepts (Container class / Inner class)
  • Container class, inner class and interfaces
  • Describe call information
  • Representation of picklist, multi-select picklist values in Apex
  • Exception handling
  • Sharing setting information with Anonymous block execution
  • Use of collections – List, Set, Map
  • Best practices of development, such as avoiding queries inside a loop; and avoiding DML operations inside a loop
  • Usage of normal DML operations/Database DML operations
  • Error handling concepts
  • SOQL and SOSL -  return type of both queries
  • DML statements and associated query limits
  • Workflow rules, validation rule, roll-up summary field, formula field, process builder (Note:  Using process builder, we have the ability to update child records!)

Visualforce (User Interface)

Tips:
  • Force.com page execution life cycle: basic questions would be there around what executes first
Topic Content:
  • Visualforce email template tags
  • Usage of standard controller, standard set controller, custom controller, custom extension and sharing information
  • Usage of Controller constructor or component constructor
  • Usage of Controller constructor or Apex: page action method
  • Merge fields, data binding between your VF page and Controller properties and methods
  • Usage of custom setting

Lightning

Tips:
  • If you have completed your trailhead badges on basic lightning experience, you are good to go! If not, well, what are you waiting for?
Topic Content:
  • Controller logic
  • Resource bundle
  • Benefits of lightning components

Testing

Tips:
  • Scenario and code snippet based questions
  • Best practices of test code development
Topic Content:
  • Considerations for test code development while carrying out production deployment of apex code
  • Test code for an inbound email handler class
  • Access modifiers of test classes, importance of @istest, @istestvisible, startTest and stopTest methods
  • Creating & Accessing Pricebook and product data in test methods
  • Process to store test data and load them in test method for bulk testing
  • Different places to run test classes and check their results

Debug & Deployment

Topic Content:
  • Usage of Sandbox and different types of Sandbox
  • Different ways for Deployment
  • Go through the log filters, know how to set the filters on apex classes & triggers
  • Usage of checkpoint window and debug log tab in Developer console
  • Possible source & destination in a change-set, deploy / rollback in a change-set, deployment connections

Important Reference Links


There are both scenario based questions as well as code snippet based questions. Most of the code snippet based questions were fairly straightforward without much twists.

Pro Tip: If you get stuck, try to reverse engineer from the answers available and match it back to the flow of code to see which option is the right fit for the given code.

Out of 105 minutes, it took me close to 75 minutes to complete all the 60 questions. I took 15 minutes to revise all the answers, ensured I didn't leave any question unanswered, and focused on the questions I had marked for review. Please make full use of the time available to review and confirm your correct answer.


What’s Next?


This exam is prerequisite to the Salesforce Certified Platform Developer 2 exam so I have already started my preparation for that! Be assured folks, I am going to keep you posted!

ALL THE BEST :)





Written by Yogesh Sharma, Salesforce Developer at Eternus Solutions
Read More »