Category Archives: Apex Development

Developing Visualforce Apps using AngularJS

Have you ever wondered how cool it would be to have the flexibility and features Angular JS framework provides, inside a Visualforce page in Salesforce platform? Well, wait no more, keep reading to get a perfect solution for this. This blog will introduce you to AngularJS and how to develop Visualforce apps using angular. Every web application requires client-side JavaScript, HTML, and CSS. Without using any server framework like Rails, Node, PHP, etc. the entire application can be built using just the front-end tools and languages.

What is ANGULARJS?

AngularJS is a powerful JavaScript framework for constructing dynamic web applications. It is used to develop mobile and web applications. The good thing about Angular is that it has a set of primed modules to simplify the building of single page applications. Single page application (SPA) is a web application that dynamically renders the data on the current page without reloading the whole page. All the code (JS, HTML, and CSS) is retrieved with a single page load and navigation between pages is performed without reloading the whole page.

Continue reading

Posted in apex develeopment, Apex Development, force.com app development, salesforce development. Tagged with , , , .

Predicting Success of your Salesforce Development Project

Can you really predict the success of your Salesforce Development /Integration project with a high degree of confidence at the beginning of your project?

The answer is No!

But you can rate your people, process and tools that are required for success and use that to predict success with a ‘good enough’ confidence level.

Pillars of Salesforce Development Project

Pillars of Salesforce Development Project success.

Continue reading

Posted in Agile, Apex Development, Salesforce cloud Implementation, salesforce consultant, salesforce customization, salesforce development, Salesforce DevOps, Salesforce Implementation. Tagged with , , , .

Salesforce Deployment Tools

A typical development process requires building, testing, and staging before releasing to a production environment. During this development cycle, one might migrate many times, either to keep development organizations in sync or to move changes through development organizations toward production and this is what we call Salesforce deployment.

Salesforce deployment is the migration of metadata from one Salesforce organization to another. If you are looking to enhance your Salesforce DevOps (Continuous Integration and Continuous Deployments) practices, this blog could get you started with the basics.

There are number of deployment tools available each having its own pros and cons. Some of them are listed below:

Change sets

Continue reading

Posted in apex develeopment, Apex Development, force.com app development, salesforce development, Salesforce DevOps, salesforce integration, sfdc, Uncategorized. Tagged with , , , , .

Is Race Condition a myth in Salesforce?

Since the introduction of the concept of multi-threading, there has been a drastic change in the way we code. Now multiple threads run in parallel, hence many tasks can be performed at the same time.

Salesforce too adhered to this concept taking a step forward in its endeavor and provided a multi-threaded environment.

But everything has its pros and cons and so did parallelism. Though it completely changed the way programs are executed but brought with it a new concurrency bug what we call as race condition.

When does it actually occur?

Race condition occurs when two thread operate on same object without proper synchronization and there operation interleaves on each other. Continue reading

Posted in Apex Development, force.com app development, Learn Salesforce, Salesforce, salesforce certified developer. Tagged with , , .

Salesforce & IoT

Anything that can be connected, will be connected.”  This quote by Jason Morgan of Forbes.com, is going to be, what future holds, with the increasing growth of the concept of IoT.  Simply put, Internet of things is a system of electronic devices or components, interconnected with each other through Internet and capable of exchanging data and information.  The devices include everything ranging from cellphones, coffee makers, headphones, smart wearables to components of machines like engine of an airplane etc. The IoT allows the devices to be remotely sensed and controlled using the existing network structure; which enables the opportunity to directly integrate them with other devices or networks. So basically, IoT is a giant network of connected things.

Why use IoT & How big is it?

A survey conducted by HP estimated that the growth of IoT will be exponential and by 2025, over one trillion devices will be connected through IoT. Another report by Cisco predicts that IoT will generate $14.4 trillion in value across all industries in the next decade. These surveys suggest towards a fully automated future.

IoTPicture

Continue reading

Posted in Apex Development, Salesforce, salesforce consultant, salesforce for healthcare, salesforce for small business, Salesforce.com, Visualforce. Tagged with , .

Apex Code for Creating Recurring Event in Salesforce Lightning

In this article I am sharing my approach and code required for fetching days for recurring events in Salesforce Lightning.  The use cases could be creating a recurring pickup, order placement etc. You would need basic knowledge of Apex and Salesforce Lightning.

This screen will give you an idea about the recurring UI.

.Capture rec

 

 

 

 

 

 

Continue reading

Posted in Apex Controller, Apex Development, force.com app development, salesforce customization, salesforce development. Tagged with , , , .

Salesforce Development Best Practices

In this blog I will share the Salesforce Development best practices that I have learned over the years. I have tried to give a few code snippets to provide examples. Feel free to use the code as-is.

Salesforce Development Best Practices

Salesforce Development Best Practices

Continue reading

Posted in apex develeopment, Apex Development, Salesforce, salesforce administrator, salesforce certified developer, Salesforce Challenges, salesforce consultant, salesforce customization, salesforce development, Salesforce.com, sfdc. Tagged with , , , , .

Best Programming Practices

Any code when written in a clean, easy to understand and formatted way is easily readable and accepted by everyone.

It is essential for everyone to easily understand the code one writes as same projects can involve participation of multiple programmers. For easy identification and understanding of the code and code flow by everyone involved, it is essential that the code is structured, clean, and easily maintainable.

Explained below are some of the practices to write clean and understandable code.

 

Commenting and Documentation

For any software project reliable documentation is crucial. Commenting and documentation helps one analyze what’s happening inside the code. This is very crucial for the one who is examining the code for the very first time. Writing comments for methods or functions is good for understanding its purpose. They can quickly show what a complex function is doing.

However, don’t write unnecessary comments as it would make your code messy. Obvious commenting does more harm than good. Comment should describe only what the method is doing or why it’s written. It can also describe the purpose of writing the program in a nutshell at the beginning of a class or module.

 

Naming Conventions

Adopting a consistent naming convention in your program is always a sensible and thoughtful practice.  It’s a set of rules for picking the character flow to be used for identifier, which signify variables, functions & methods. It makes it easier to understand the purpose of using that variable / function / method. If one’s a beginner, it’s a good practice to give meaningful names to your variables, methods, functions etc. instead of vague combinations of alphabets and numbers. Using camelCase and underscores is a widely popular approach. Use of camel case is to be preferred  as this does not create confusion between salesforce api names and variable names in case of apex code.

 

Consistent Indenting

There’s nothing worse than reading a piece of code that is poorly formatted. Indenting makes your code looks neat and clean. It is easy to understand the flow of program, the link between control flow constructs such as loops and codes written inside and outside of them.

 

Keeping it simple

One should keep their code as simple as possible. Avoid writing complex code for simple logic. Try breaking down your code in multiple methods if the logic is getting too complicated for a single module.

Ideally a method or a function should not have more than 40-50 lines of code, excluding comments.

Modules like servlets, triggers and callouts should not have any logic written in them. All the logical operations should be performed in a helper lass.

 

Portability

It is not advisable to use “hard-coded” values referring to environmental parameters, such as absolute file paths, file name, user name, host name, URLs etc. Else, the application might not run on a host with a different design. An efficient programmer should parametrize such variables and configure them as per the hosting environment outside of the application.

The best way to do it would be to maintain all the required constants in a single file which is easily configurable without making any code changes.

 

Loops and conditional statements

Beware of using loops and conditional statements in your code! Choose right loops at the right place in order to save code’s execution time.

Too many nested blocks of code can reduce code efficiency and readability drastically.

 

Omit unwanted code

It’s very common to find a block of code commented inside the program. It’s not going to do any harm to your program but bloats the code unnecessarily, so try not to keep such code. In addition, since this code is not going to be executed or compiled there is no difference between commenting out and deleting that code. Deleting commented codes makes your entire program looks cleaner.

In case of future necessity of the commented blocks, maintain additional backup along with the code repositories.

 

Do not just copy and paste code

If you have a snippet of, say, seven lines of code that do one thing, and you want to do it again for another module, don’t just copy and paste the code. Instead, make a function and to make it reusable. It’ll keep your code simple.

 

Code versioning

Code Versioning, popularly known as version control, is the management of the changes made to computer programs, documents and other collection of information.

In computer programming, it refers to the process of tracking & controlling the changes made to the source code.

Version control becomes very important especially when working in a big team as this saves additional time that one might require for code merging and also one can easily backtrack in case of errors.

 

Code versioning is to be done for every project using available resources like Gitlab, Github, Assembla, etc.

Posted in Agile, Apex Development, J2EE, JAVA, Organization Culture.