Blog

  • 13
    Dec
    2018
    Report Building In Salesforce

    Salesforce Reporting Introduction: Reporting in Salesforce is very powerful. And, if you are starting your reporting in Salesforce, it will be quite interesting. But, before you begin with Salesforce reporting, you need to have the basic knowledge of report types and its features.  Below mentioned ones are few basics and useful information for reporting. You need to understand the business requirement to perform reporting in Salesforce. A small mistake in reporting leads in spending a lot of money and time consumption during the reporting process.  So, before starting a report, understand the client requirement correctly and start the job. There can be several reasons for reporting from the client side. First, analyse the condition of the client and lead the client for proper output. There can be some extra features that the client is not aware of, so you need to provide the additional features included in Salesforce for the client output. We have different types of reports which provide ‘Simple Reports’, ‘Chart Based Reports’, ‘Grouping Based Reports’, ‘Multiple Grouping Based Reports’, ‘Block Based Reports,’ etc. The below topics are mentioned in detail: 1. How to Add Custom Tab in the Tab Bar ? 2. What is a “Report” in Salesforce ?. 3. We Have Different Report Formats In Salesforce 4. How To Create “Tabular Report?” 5. How To Apply “Filters” In The Report ? 6. How To Create “Summary Report ?” Features of Tabular Report and Summary Report in Salesforce Table How to add custom “Tab” in the “Tab Bar”? Customizing the Tab Bar For “Reports" & “Dashboards”. Login >> Click On the ‘+’ available on the Tab Bar. Click on the Orange colour “ Customize My Tabs ” button to the right top corner. Select “Reports” in “Available Tabs” and move to the “Selected Tabs” by clicking the “Add” button which is in the middle of both the Tabs.  The same steps are repeated for “Dashboards” adding to “Selected Tabs” from “Available Tabs” area. Click on “Save Button”. The below figure shows the “Reports” and “Dashboards” Availability. What is a “Report” in Salesforce? A report displays a set of real-time data that matches certain criteria, which is useful for Salesforce Analytics. Let, us discuss in detail by assuming with an example. For the report analysis we require data in the object already created, i.e., “Naukri.com JobForms”. Note: Please create records sufficiently in the object for reporting purpose. We have different report formats in Salesforce: 1 Tabular Report 2. Summary Report. 3. Matrix Report. 4. Joined Report 1. Tabular Report: It displays simple list of records. 2. Summary Report: It displays records up to 3 levels of grouping. 3. Matrix Report: It displays records in 2 x 2 format, Similar to an “Excel Pivot Table “. 4. Joined Report: It helps multiple business information to be seen in single report at the time as long as they have a common key. How to create “Tabular Report?” Click the “Reports” button in the Tab Bar. And, click On “New Report” button on the Tab Bar.We need to select from the “Report Type” to create a custom report of the Object. We can find the custom reports under “Other Reports” folder.  Note: If you can not see the “Other Reports” folder, you need to get back to the “Object Edit” Page >> Scroll Down >> Under “Optional Features” >> Check the “Allow Reports” >> Save. This is shown in the below figure. Please select the “Naukri.com JobForms” >> Create. After “Create” >> Save the Report For Identification Purpose as “Naukri.com Tabular Report” >> “Save”.Note: The above page is called as “Report Builder” page where you can build and perform activities related to reports. From the above image, we can see how the name of the report done and from “Report Folder” >> always select “Unfiled public Reports” >> Save. Note: Always select “Unfiled Public Reports” such that it is available for everyone. If you forget to check the box, the reports will only be visible to Admin. Without performing or customising the screen, just run the report. You can see the following report as mentioned in the figure below. If you want to customise the report with available fields, just drag and drop the available fields under “Naukri.com JobForm: ID” >> “Save” >> “Run Report”. How to apply “Filters” in the report? The below figure defines the “Naukri.com Tabular Report”. We can even customise our report by adding “Filters”. The Default filter in the Salesforce would be “Date Filter”. You can even customise the filters from “Add” Button at the top of the report page. By clicking the “Filter - Add” button, the filter will be available to customise for - Desired Field (First Name, Salary, Experience etc) and “Run Report”. Result: By applying the filter on “Expected Salary” less than or equal to “7777”. Below is the result figure. How to create “Summary Report?” Step1: Click the “Reports” button in the Tab Bar. Step2: Click On “New Report” button on the Tab Bar. Please select the “Naukri.com JobForms” >> Create. After “Create” >> Save the Report For Identification Purpose as “Naukri.com Summary Report” >> “Save”. Need to change the report format in the preview for “Summary Report”, as shown in the below figure. As the previous “Tabular Report” activity, you can drag and drop the fields required for reporting in the “Summary Report” and “Save”. Note: The main difference between Tabular Report and Summary Report is the “Drop Zone” in Summary Report, which helps for grouping on specific field. How to add “Grouping on Country”? Just drag and drop the field required on which grouping is required into the “Drop Zone” and >> Run Report. In the next topics, we will discuss in detail about “Add Chart To Summary, Matrix and Joined Reports”, “Matrix Report & Joined Report”. Keep following us for more info on Salesforce Administration.  

  • 13
    Dec
    2018
    Custom Reports In Salesforce

    Introduction to Matrix Report And Joined Report In Salesforce: Let us continue with Matrix Report and Joined Report in detail. Matrix Report Joined Report Matrix report is used to summarize the data of 2 different types side by side. Joined report contains data from 2 or more blocks with different report types. It is used for checking the data dimension on one another. From a single object, it has relationship to various report types and can be combined to form a report. It helps users to group data by columns and rows. Principal report is considered as the first report added to the joined report. Various intersections in between data groups for checking the data in a table layout. Common fields are used to create blocks containing with data grouping. Chart and graph representation can be enabled in this report. It allows blocks of data which in return enables multiple views. This type of report is used in complex data summarizations. A user is allowed to create 5 block in a report.   Table of Contents How To Add Chart to Summary Report ? How To Create Matrix Report ? How To Create A Joined Report ? When we use Joined report ? Features Of Matrix Report And Joined Report In Salesforce: Matrix Report Features: Matrix Report Features: Matrix reports allows grouping records by both rows and columns. They are similar to summary report except that they permit 2 dimensional grouping. They help in comparing related totals with totals by rows and columns. They can be used to see data in 2 unrelated dimensions, such as date and product.(ex: you can summarize deals by month vertically and by clients horizontally in a matrix report). Drawback: We cannot show the columns in groups if they are logically related to each other having no connection with other columns. Joined Report Features: A joined report is a special type of report that contains multiple blocks within it. Each block holds related information. Each block can own unique columns, filters, and sort order. It can be used to group and show data from multiple objects in different views. By connecting objects together using relationship, we can show data from different objects in different blocks as well. How To Add Chart to Summary Report ? Login to Salesforce Org >> Click On “Reports” >> Select The Summary Report Already Created For The Object (Naukri.com Summary Report). Click on the “Add Chart” button which is enabled because of “Grouping” on “Country” already done. Basically we have 7 types of charts: 1. Horizontal Bar Chart 2. Vertical Bar Chart 3. Pie Chart. 4. Donut Chart. 5. Scatter Chart. 6. Funnel Chart. 7. Line Chart. Let us continue with i.e vertical bar chart: Select The “Vertical Bar Chart” as shown in below figure. Click on formatting “Tab” available, you can name the chart in “Chart Title” Field, “Size”, “Background Colour”, “Data Labels”, “Chart Position”, “Chart Size” >> Click on “Ok” to proceed and Then “Save” the Report. “Run Report”. Result: The Summary Report with Chart is visible in the Report. How To Create Matrix Report ? Click the “Reports” button in the Tab Bar. Click On “New Report” button on the Tab Bar. Please select the “Naukri.com JobForms” >> Create. After “Create” >> Save the Report For Identification Purpose as “Naukri.com Matrix Report” >> “Save”. Need to change the report format in the preview section for “Matrix Report” as shown in below figure Horizontally with “Country” grouping and Vertically With “Technology Known” >> and “Run Report”. Do not forget to “Save” the Report. We can even customise the matrix report with colour based on the Record Count shown below. For this, we need to select the “Show” in the Report area >> “Conditional Highlighting” from the drop down list. Then, we have screen popped up with “Conditional Highlighting”. Select the desired field >> Number as shown in the below figure. Result: The result for Colour Customisation Report is shown in the below figure. How To Create A Joined Report ? Click the “Reports” button in the Tab Bar. Click On “New Report” button on the Tab Bar. Please select the “Naukri.com JobForms” >> Create. After “Create” >> Save the Report For Identification Purpose as “Naukri.com Joined Report Report” >> “Save”. Need to change the report format in the preview section for “Matrix Report”.  And, you can even change the name of the block or column just by selecting at the area specified in the below figure. Now, drag and drop the required fields for the “Personal Info Block” (ex: First Name, Country, etc.). You can even drag the “not required” fields back again whether they are pre-existing or customised. Personal Info Block altered by dragging the unnecessary fields to the left side of the Object Forms.  For adding another block to the Report, drag and drop the required fields beside the block already created (eg, Personal Info Block). Note: You can create up to 5 blocks in a Report. Now, if you want for “Grouping The Data”. You need to select the “Field” on which grouping needs to be done and just drag and drop the field in the “Drop Zone” located Block area. Based on “Experience”, let us create the report. Drag the “Experience Field” and drop in the Drop Zone.  Now, you can “Add Chart” for the joined Report as well. Now, “Save” the Report and “Run Report”. You can view the result in the below figure. Image here When we use Joined report ? We use joined report in the following two scenarios. If there is a need to show various columns in a group format together, where we have hundreds of fields in 1 object. If there is a need to show fields from different objects which are related with each other, and we want to see the data for comparison. In the next topics, we will discuss in detail about, “Dashboards” and “Using Report in Dashboard” in detail. Keep following us for more information on Salesforce Administration.

  • 11
    Dec
    2018
    A Complete Guide To Chatbots

    What is a chatbot ? A Chatbot (or a bot) is a software developed using the concepts of artificial intelligence (AI). It can initiate a conversation with humans (users) in natural language through chat (messaging) applications, mobile apps, websites, or through telephones. A user can ask various questions to a chatbot or give commands, and it replies to the action requested. Chatbots are considered as the speakers for artificial intelligence (AI). They’re an accessible form of AI and widely used in various business platforms across the world. They are commonly implemented in different chat mediums such as chat windows, SMS, social messaging services across platforms like instagram, twitter, and facebook: to send and receive messages. What are chatbots for ? Chatbots are the most advanced and expressive communication softwares that interact with humans. Technically, chatbots usually represent the traditional Questioning and Answering system. Get ahead in your career by learning Artificial Intelligence through Mindmajix Artificial Intelligence Training. These are being used as assistants to consumers for shopping online, either to answer about products or to provide useful information for the consumer who  searches for shipping price and availability. These are generally used in service related sectors for providing services by answering repetitive requests. If a conversation gets complex, then they will hand over the request to a human service agent . How to choose a right chatbot application? There are many platforms and tools available for you in the market to develop chatbot applications. Based on the use cases you need, you can opt some chatbot technologies which are appropriate to your application.  To achieve required results, having an understanding of different combinations of AI technologies such as semantic, natural language processing, and machine learning is suggested as best option so that you can evaluate them for your desired goals. How do Chatbots Work? Chatbots respond based on user inputs. The procedure may look easier, but while implementing, things get quite complex or difficult. Task performed by them - the primary focus is to identify the user’s request and extract data which is relevant. If a chatbot can't understand the user’s request, it can’t answer accurately. The response can be: The data that is stored in enterprise (business) systems. A text retrieved from a knowledge base. A predefined and generic text. The result obtained by interacting with one or more back-end applications. A contextualized information provided by user. Architecture of chatbots A chatbot that answers a user’s request should be smart enough so that it can engage the user to continue the conversation. It doesn't have to remember all the conversational details. There are different models involved in the architecture of bots. The choice of architecture depends on the model you choose. Bots are classified into: Entertainment bots Business bots Entertainment bots : One way to assess these bots is the Turing test, i.e., comparing them with humans and the other ways are metrics, quantitative, assessing the minimum length of conversation between the bot and the user, and maximum time spent by a user. Based on the metrics we can decide what kind of a bot is it? For example if conversations are found to be  short then the bot is not considered as an entertaining one. Business bots : Often, businesses are transactional, and have a specific purpose. In this kind of chatbots, conversation is focused much on users’ needs. For example, chatbot developed by travel business companies like Trivago, Makemytrip, Goibibo will provide an information about hotels, flights,  tours, and help in finding the best packages according to users preferences. The examples of business bots we regularly use are - Uber bot takes a ride request, Google Assistant readily provides information requested, and so on. Each conversation has a goal. Conversations may usually be short, i.e., less than 10-15 minutes. Having said that, the quality of a bot (metrics) can be measured based on: Number of users who reached the goal. Whether the user found the information he/she was looking for? Is the booking successful or not? Has the user bought products with a proper guidance? Majority of bots come under the above classification. There are other classifications as well. For example, based on the type of conversation, chatbots are classified into one-to-one, and one-to-many (if bots are added into a group chat, then it becomes complex, and the dynamics of conversation changes) Checkout Artificial Intelligence Tutorials Models There are three types of models in developing chatbots. Retrieval-based models Pattern-based heuristics Generative models Retrieval-based models: These models are much easy to build and give more predictable responses. These are not 100% accurate in providing responses, but you need to make sure that there are no grammatical mistakes in responses. These are more practical, and many algorithms and APIs are available for developers. They make use of context in conversation for selecting the best response from a predefined list of messages that they got trained. The context includes all previous messages of conversation, and earlier saved variables. The bot that doesn’t use context is stateless. So, it will provide response only to the latest users message, omitting all the previous chat history of the conversation. Pattern-based heuristics: These are for choosing a response, and it can be done in many ways, based on machine learning classifiers  to simple if-else logical conditions. Here, uncomplicated technology is used to set of rules, using patterns. This type of models are very popular for entertainment bots. AI and ML programming languages are widely used for response templates, and writing patterns.  Developers write code using both these languages, and code can have multiple units. When a developer receives any message, it checks all the patterns till it finds a correct pattern which exactly or nearly matches user message. If the match is found, then it chooses that template to generate the response. ChatScripts are the modern implementation of this kind: It is an open source chatbot engine that allows to define a chatbot in a rule-based language. ChatScript Template: < category > < pattern > …………….< /pattern > < template >..................< /template > < /category > Generative models: These models are the base for future chatbots, and they make them smarter and more interactive. These models are not widely in use, and are mostly in developing stage. Architecture with response selection A chatbot can deliver the same message through different words. For example, a weather bot that can predict response in different ways to different users like “It’s going to rain”, “do carry umbrella today”,“Probability of rain is 50%”.  Now, predicting which one will be best for the user depends upon whether  the language or the user’s input? As different users prefer varied styles of responses, bots analyze the previous data and metrics to produce response to the user. They can have independent response selection, and response generation modules. Processing the message starts  from understanding, “what the user is talking about ?”. Generally, more sophisticated bots identify multiple intents in a message. Intent classification makes use of context information, like user profile, preferences, and previous messages. The weather bot can access the details like location and date to forecast weather. Candidate response generator: It does all the domain-specific calculations required to process the user request. It makes use of different algorithms, by calling few external APIs, or even takes the help of human to generate response. Final result of these calculations are listed as response candidates.  These responses must be accurate according to domain-specific logic, it can’t be just a set of random responses. Response generator should use intent, context of the conversation as well as entities that are extracted from the previous user messages, or else it can’t support group conversations. The role of response selector is to  just rank all the response candidates, and selects a response which best suits the user’s request. Chatbots in Business field Currently there is a constant focus on improving the ability of chatbots to imitate the use of speech and meanings: Best example is “Cleverbot”. We are in an era where consumers are always connected to social media platforms through smart devices. The new generation of consumers expect quick and supportive customer service experience from various brands. They demand quick responses which are more personalized with recommendations.  To fulfill their demands and to address the heavy competition in the business world, they focus to build chatbots that can manage customer queries 24*7 without any delay. Reality is that, they engage the consumers at the right time, with the appropriate information which is cost effective. It acts as interface between customers and brands and build trust in them. How advancement in AI impact Chatbots? Till now, chatbots haven't passed the Turing test. But there is a development in AI technology - data has become less complicated, and key for that is to find use cases from where we can get a huge volume of iterations(repetitions), so the system can iterate as fast as possible to improve itself.  In the development of a chatbot, this is the main advantage as it can perform massive level of conversations. Still, research is under process about the evaluation procedure of the response. We can predict that in the years to come, we will see more advanced AI techniques coming into limelight that can provide more innovative features. The conversational capability of chatbots is always the main motto. Types of chatbots Following are different types of chatbots differentiated based on their features.   Scripted chatbots: This type of chatbots follow predefined conversation paths. At every step of the conversation, the user has to select from the given options to decide the next step of the conversation. The options are given to the user at every step of the conversation, to choose either  touch, text, or voice response based on the features of the chat platform you use, and the way bot is designed and programmed. Intelligent chatbots: AI allows flexibility in terms of the input from users that is acceptable. They take free input in the form of text and voice statements. However, AI works well with limited knowledge domain sets or instructions as the actual intelligence is limited. It is highly difficult for a bot to “understand” ambiguity or a useful memory that impacts the communication. Application chatbots: Both intelligent and scripted chatbots have graphical user interfaces (GUIs). Application bots are a combination of both intelligent and scripted bots. Chatbot developers need to understand the fact that the bots interact using a graphical user interface. If a user has to do the job, then he needs to do it more efficiently than the bot through a graphical user interface. Use cases Chatbots are used in different ways, that is why it’s difficult to define what they are. It is possible to write a use case for a chatbot for every single business or an organisation, which uses apps or a website. Examples of chatbot applications with possibilities are: To get a quick response to queries, to solve problems or complaints, etc. Chatbots which are currently in use: All the below chatbots allow the involvement of human agents in the conversation if required, may be as a premium service. Restaurants having takeaway facility where customers order through a chatbot, either in the store or from home. The best examples for this kind of bots are online food ordering apps such as swiggy, and zomato. Marketing or campaign sites which promote their products by conducting quiz to their customers and allows them to play the quiz using a chatbot. Chatbots help customers to purchase through ecommerce apps such as Flipkart, Amazon, and many more. A chatbot that responds to customer services enquiries and helps them in performing various tasks. They are used in monitoring customers satisfaction. They are used in airways to book flights and receive information which is relevant when they are in the airport. Advantages of Chatbots  The advantages of chatbots are as follows. They are capable of engaging customers in a friendly manner  A simpler interface makes it easy to interact. Interactions are made possible via social media platforms like twitter, facebook chats through application programming interfaces (APIs)  They have extraordinary capabilities in handling customer queries. Work efficiently round the clock for customer service. Cost efficient  and  are easy to build. Future scope The use of chatbots has certainly gained strength over the past few years. At present, it appears that virtual reality, and augmented reality will play an important role in software development. Therefore, chatbots will definitely have a role to play here, especially in voice interfaces. There is no doubt that they are going to be the future. When more and more companies start developing APIs to integrate chatbots within their ecosystem for communications, then there exists a demand for bots that can interact among multiple platforms. Therefore, we can expect a rise in SDKs, and frameworks that help developers in building API-driven voice bots. Companies are now expected to engage bots to converse in the same way that customers would like to communicate with their family members, friends, and even colleagues. Since the maximum number of  bots are trained by a strengthening voice-to-text, and natural language processing (NLP) which can be applied to any medium for communication, many brands, for example, Facebook Messenger, WhatsApp, voice-chat or messaging now have an opportunity to offer the choice of preferred messaging channel for their customers. Chatbots have bought a new revolution in terms of communication, and the way of interaction has entirely changed. Companies have inculcated these to establish conversation with their customers, and we are only at the beginning. Chatbots will take the customer experience to a whole new level in the future that builds more meaningful and long lasting relationships.

  • 08
    Dec
    2018
    React Js Tutorial

    Introduction: ReactJS is one of the trending and most happening UI frameworks. Developers love ReactJS, and It’s being appreciated and well received from the developer community. With no further delay, let’s jump into the details and understand about ReactJS in a detailed manner. React JS Tutorials - Table of Contents Overview Environment Setup React JS - JSX React JS - Components React JS - State React JS - Props React JS - Component API React JS - Component Life Cycle React JS - Events React JS - Forms React JS - Keys, Routers React JS - Flux Concepts React JS - Animations React JS - Higher-Order Functions React JS - Best Practices Conclusion overview In this article, we will go through the details about ReactJS. ReactJS is a JavaScript library to build customized user interfaces. It is maintained by the Facebook community and also interested individual developers. Let us go through the various sections of this article to understand this. What is React? React is a flexible JavaScript library that is both declarative and efficient for building new user interfaces. React allows you to design and develop complex UIs from very small and isolated pieces of code referred to as "components". React has a lot of variants in its components offering. React helps with the reusable UI components’ creation. These components present data that alters over time. Prerequisites to learn ReactJS: There aren’t many prerequisites to learn ReactJS, but it would be of great help if you have prior experience with HTML and JavaScript. Even if there’s no experience available, then you should be able to get through this with the following: 1. First prerequisite for individuals opting to learn ReactJS is that they should have basic HTML & JavaScript understanding. It is still fine if you don't have any experience with HTML / JavaScript, but should definitely have some experience with any other programming language. If you need a refresher to JavaScript, then you can go through this article.  2. Should be familiar with programming concepts like Objects, Classes, Functions, Arrays, etc. 3. Need to gain understanding on what ES6 code compiles to, for this you can refer Babel REPL React Features: Let us now look at some of the features that React provides over and above what plain JavaScript doesn’t provide: 1. JSX: JSX stands for Java Script eXtension, which is recommended in React development. There is no hard and fast rule that says JSX has to be used in implementation though. 2. Components: React applications are all built up using components. There is a definite thought process that has to go in, into React development as the code should be very much maintainable when you get into larger scale projects. 3. Flux and Unidirectional data flow: Flux is a design pattern that enforces keeping your data unidirectional. By this pattern, React suggests to keep unidirectional data flow which further makes it very easy to understand your application. 4. License: React is licensed under the Facebook Inc. (CC BY 4.0) React Advantages: Let us now go through some of the advantages that React brings to the table when used for your application development: 1. Usage of virtual DOM as against regular DOM makes it quicker, since virtual DOM is a lot quicker over the regular DOM. 2. Ability to work on both Client and Server side with the help of other frameworks 3. With the use of component and data patterns, readability is improved way better than other UI frameworks React Limitations: Let us now go through some limitations that React poses on its developers for application development: 1. Some developers might feel awkward using inline templates and JSX 2. React only covers View and Model layers of an application, hence making it dependent on some framework or the other to complete the tooling set for development. Environment Setup This section of the article discusses about the steps that are required to set-up your environment for React development. You might feel that there are so many steps for this to get started but believe me, this will help you achieve faster development very soon.  You will require Node JS and NPM installed on your system to get the React JS development setup. Node JS is the platform that is required for the React development. After successful installation of both Node JS and NPM, then comes the part of installing React JS which can be done in two ways, and they are as follows: Installing React JS using Webpack and Babel Installing React JS using the Create-React-App command Let us now look at each of these installation processes individually: 1. Installing React JS using Webpack and Babel: Webpack is a module bundler which helps managing and loading dependent modules, and compiles them into a single file or bundle. This bundle can be used during your application development using either by the command line interface or by configuring in webpack.config file. Babel, on the other hand, is a JavaScript compiler and transpiler which helps converting one source code to another format. We are going to use this as this converts all your ES6 features in your code to ES5 format - so that it can be run on all browsers. With the dependencies for the installation process handled and understood, let us get down to business of (React JS) installation altogether. Create the root (ReactJS Application): Create a folder naming ReactJS Application on the desktop to install the required softwares and dependencies. All of this will be done using the command line way.  C:UsersDesktop>mkdir ReactJSApplication  C:UsersDesktop>cd ReactJSApplication Module creation is controlled by the package.json file, and now that we have created the required folder, let us run the npm init commands to create the package.json file. This will ask for more details further, which can skipped by padding a -y parameter to the previous command.  C:UsersDesktopReactJSApplication>npm init -y Install react and react-dom modules: Since we need to install ReactJS, we need to install its dom packages using the install react and react-dom npm commands. The packages that we are installing now can be saved to the            package.json file by adding the --save option in the commands above. C:UsersDesktopReactJSApplication>npm install react --save C:UsersDesktopReactJSApplication>npm install react-dom --save Instead of two different commands, if you want to combine these commands into a single                    command - It can be done this way: C:UsersDesktopReactJSApplication>npm install react react-dom --save Install webpack modules:  After the react and react-dom modules are installed, it is time to install the webpack modules,             which can be done in either ways. The installation here requires to install all the three                         Webpack modules namely webpack, webpack-dev-server and webpack-cli.   C:UsersDesktopReactJSApplication>npm install webpack --save   C:UsersDesktopReactJSApplication>npm install webpack-dev-server --save   C:UsersDesktopReactJSApplication>npm install webpack-cli --save Or we can install all of these modules at once using just this single command as shown below:    C:UsersDesktopReactJSApplication>npm install webpack webpack-dev-  server webpack-cli --save Install Babel modules: After the installation of webpack modules, we need to install all the 5 babel dependencies                  namely babel-loader, babel-core, babel-preset-dev, html-webpack-plugin and  babel-preset-                react. Identify the difference below, as we are going to save these dependencies as only                      development required dependencies.  C:UsersDesktopReactJSApplication>npm install babel-core --save-dev  C:UsersDesktopReactJSApplication>npm install babel-loader --save-dev  C:UsersDesktopReactJSApplication>npm install babel-preset-dev --save-dev  C:UsersDesktopReactJSApplication>npm install babel-preset-react --save-dev  C:UsersDesktopReactJSApplication>npm install html-webpack-plugin --save-dev  All of these modules can be installed at once using just this in a single command, like the following: C:UsersDesktopReactJSApplication>npm install babel-core babel-loader babel-preset-dev babel-preset-react html-webpack-plugin --save-dev Create the necessary files: There is a requirement to create a certain set of files either manually or using the command                prompt, which will finally mark the installation process complete. The files that need to be                  created are shown below: C:UsersDesktopReactJSApplication>type nul > index.html C:UsersDesktopReactJSApplication>type nul > App.js C:UsersDesktopReactJSApplication>type nul > main.js C:UsersDesktopReactJSApplication>type nul > webpack.config.js C:UsersDesktopReactJSApplication>type nul > .babelrc Set the Compiler, Server Loaders respectively: Open the webpack.config.js using Notepad++ or Visual Code, add the following code snippet            given below. By this change, we would be setting the webpack entry point as main.js, and                  output path will be the path where the bundle application will be served, and development                  port is set to 8001 which can be changed to any port of your choice (but it should be open for use). code Once the above change is done, open package.json in Notepad++ or Visual Code and delete the test, echo, and exit 1 entries under the scripts object. This is not required as we wouldn’t be doing any testing in this section after this installation, but add start and build commands instead. "start": "webpack-dev-server --mode development --open --hot", "build": "webpack --mode production" Changes required to setup the index.html, App.js and main.js: index.html is a regular HTML file. Here, we are adding the following code div id = “app” to mark it as the root element and also we will be adding index_bundle.js script, to mark that is our bundled application. code App.js is our first React component which will render a simple Hello, World message on successfully starting the React server. code We would then require to import this React component and then render this in our root App element, just so that we can watch it on our browser. This change is required in main.js file. import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.js'; ReactDOM.render(, document.getElementById('app')); A simple thing that one should remember is that whichever component that you as a user want to work with, import it and when you want to use one of the created components - you would want to export and import in the file where you want and then  use. For such a thing to happen, the following entry should go and sit in the .babelrc file that we created sometime back. {    "presets":["env", "react"] } Running the React Server: The steps until now should ideally complete the installation of React on your system and for us to test it, we need to start the React server using this command: C:UsersDesktopReactJSApplication>npm start This shows the port that we used to open in your favourite browser, and once when we open, it shows something similar to the following (which confirms your React setup is all done without any issues): If you want to generate the bundle file, then you will have to execute the build command as like this (this will generate the bundle under the bundle folder of the installation directory): C:UsersDesktopReactJSApplication>npm run build 2. Install via the create-react-app command: React can also be installed using the create-react-app command which is far more easy than what we have seen earlier (with Webpack and Babel dependencies). Let us dig into the installation process now: Install the create-react-app package: The installation process doesn’t change much when it comes with npm, take a look at the command below: C:UsersDesktop>npx create-react-app myApplication Delete the source files created in the step above: Once the command above is executed, it would create a bunch of source files with some default implementation. These auto generated files can be deleted in this step and the next step we will add our own custom implementation to test this setup process. C:UsersDesktop>cd myApplication/src C:UsersDesktopmyApplicationsrc>del * C:UsersDesktopmyApplicationsrc*, Are you sure (Y/N)? Y Add custom source files: Once you have deleted the files as mentioned in the step above, you’ll have to recreate these two files namely index.css and index.js in the source folder following the commands below: C:UsersDesktopmyApplicationsrc>type nul > index.css C:UsersDesktopmyApplicationsrc>type nul > index.js After the files are created, replace the content in the file index.js to the following: import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; Execute this project: You can now execute this project using just the run command (npm start) React JS - JSX React JS uses JSX for templating instead of the regular JavaScript. Though it is not mandatory to use it, it is recommended to use it for the following advantages: It’s faster because of the reason that it performs optimization during the code compilation to JavaScript It is type-safe, meaning any errors would be caught on code compilation itself If you are familiar with HTML, then you can write templates easier and also faster Using JSX: JSX is nothing more than regular HTML code and also looks similar to HTML code. This is already encountered in our Environment setup section of the article already, where we introduced you to App.jsx in which we were returning a div to main.js for rendering it on the browser. Let us relook at that sample again. code Advanced JSX: Though the JSX code looks similar to HTML code, there are few things that we need to take care of. If we are returning more than one element, then these should be wrapped into a single container element. Let us check that out in a sample example below: code In the same example, we can provide a custom attribute in addition to the regular HTML code that has been written already. If we want to add a custom attribute, then we need to make use of the data- prefix. In the above example, let us add one custom property called data-my custom attribute. code Pro JSX: In the examples above, we have just used simple HTML code additional to what can be achieved with a single “Hello, World!” React JS program. There are further constructs that could be used to do arithmetic operations, ternary operations, styling, and add some comments to your React programs. These can be achieved by using just the same sample program and replace the ordinary HTML code with an aforementioned construct from React. React JS Components As we have already discussed earlier, any of the React code that you would want to write would have to go under a component. With this understanding, let us learn how to combine components in order to make the application well maintained. This approach will allow changing your component without even affecting the rest of the page. Stateless Example: In the example below, our first and foremost component is App and it is the owner of Header and Content. We are attempting to create Header and Content separately, and then adding it back to the JSX tree in the App component. In this requirement, there is only a change required in the App component. Let us check this example out, here comes App.jsx: code And we want this to be rendered onto the browser as well, hence we need to import this into the main.js file and then make a call to reactDOM.render() method. Let us check out main.js: import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(, document.getElementById('app')); On running the above code, this is what the browser would be displaying. Stateful Example: In this example, we would follow the same main component App as earlier. The Header component is added like in the previous example without any change and also it doesn’t need any state related details. Instead of adding a Content tag, we would go ahead with a table implementation to add as many rows as we could dynamically add. Let us look at App.jsx: code Let us now look at main.js: import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(, document.getElementById('app')); On running this program, we would now be able to see that, instead of a stateless Content tag, we are now able to display dynamically added data with some state details attached to it. React JS - State State can be defined as the place from where your value is coming from. We should always make sure that the state is kept as simple as possible, and also at the same time, we should always look for opportunities to reduce the number of stateful components. Let any number of components need their state value, we should always have a container component that holds the state details of all these components. We can refer to the examples discussed in the previous section to understand more about State in the React JS world and also how it can be used. React JS props The only difference that one can identify between a State and Props is that Props are actually immutable objects. This is main reason why Container component always has a state defined, which gets updated or altered, whereas the children components should pass on data from State using Props. Props Overview: We are continuing the discussion that we initiated while understanding what Props are. Now, let’s check a simple example where we can use some Props values and how we can access them or render them on the browser. code Let us take a look at App.jsx: import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(, document.getElementById('app')); When we run this on the browser, we would be able to see that the default Props constructor values are rendered on the browser. Props Validation: Validation on the properties is a useful technique to ensure the proper usage of components. It will also help reduce the number of bugs that we might get very late after crossing the development phases. Doing so, it makes your code pretty readable. Let us take an example with the main component as App and have all the properties that are required. App.propTypes will be used for the necessary properties validation. If the properties are not using the right types, then we would receive a warning for the same. We can set App.defaultProps after specifying the validation patterns. Let us now take a look at App.jsx: code Let us now take a look at main.js:   import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(, document.getElementById('app')); React JS Component Api In this section, let us learn something about the React Component APIs. There are mainly three methods that we would want to discuss about -> setState(), forceUpdate() and ReactDOM.findDOMNode().  The setState() method will be used to update the state of the component. It will not replace the state of the component but only adds the changes to the original state.  The forceUpdate() method updates the component manually and this API helps in achieving just that.  The ReactDOM.findDOMNode() method is used for the DOM Node manipulations. For this to happen, we first need to import react-dom module. React JS Component Life Cycle In this section, let us discuss in detail about the Component’s life-cycle. All the life-cycle methods are inside the component itself. The following are the sequence of events that happen during a request - response that is handled by a component. Let us take a look at each of these methods and also try to understand the concepts behind them: 1. componentWillMount is the method call, that gets called before rendering, on client side and the server side alike. 2. componentDidMount is the method call, that gets called after the first time that it renders and this happens only on the client side. This is the place where all the AJAX requests and state or DOM updates occur. This method is generally used for integration purposes with other JavaScript frameworks or functions with delayed execution as like setInterval or setTimeout. 3. componentWillReceiveProps is the method call, that gets called along with props update and also before any other render request is received. 4. shouldComponentUpdate is a boolean method call that returns either false or true. In turn, it determines whether or not the component gets updated. This is set to true by default. If there is no necessity for the component to render with an update of either the state or props, then this can be returned as false always. 5. componentwillupdate is the method call, which gets called before rendering the component. 6. componentDidUpdate is the method call, which gets called after rendering the component. 7. componentWillUnmount is the method call, which gets called just after the component is unmounted from the DOM. React JS Events Event handling is the topic that we would be discussing here. On the component examples that we have seen till now, let us try and add some onClick events to show the power of React JS Events. When you want to update the state of the Parent component from one of its child components, we can then make use of the event handler (updateState) on the Parent component and pass it as a property to the child component.   Let us get down to some code and how it fares (App.jsx):   code Let us see what needs to be put under the main.js file: import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(, document.getElementById('app')); And when you run this sample piece of code, this is how the browser would render this: React JS Forms In this section, let us go through how we can interact with forms in React JS. Let us consider a small example where we accept some values in a form and display it back to the User on the same form. This allows to update the state whenever the value in the input box has been changed. Here, indirectly, we are going to use the onChange event to achieve this. Let us now take a look at the relevant code (App.jsx): code Now let us see what goes into the main.js file: import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(, document.getElementById('app')); And, when we run the above sample piece of code, this is how the browser renders: React JS - Keys, Router React Keys are useful when you are going to work closer with dynamically created components or when your lists are being altered by other users. Keeping the key value unique will enable you to keep your components identified uniquely. Now, with this understanding of keys, let us now go through what Routers are in React JS. Routers lets you route around your application via the links that we create to various components of the application. Let us now go through the step by step process of installation and a sample example to understand this. 1. Install the React JS Router component: Installing the React JS Router component is as easy as running the following npm command, just the way we followed during the React JS environment setup. C:UsersDesktopReactJSApplication>npm install react-router 2. Create the necessary components: In this step, we shall be creating 4 components - one the main component (App) and the other three components are for the required traversal (Home, About, Contact). Let us look at these changes in the App.jsx file: code 3. Add a Router to complete the flow: Based on the components that we have created earlier, we have to add the routes as appropriate to the application. Instead of rendering the App component itself in the other examples, what we would be doing is to render the Route element itself. Let us take a look at these changes on the main.js file: ReactDOM.render(( code Once the application is run, we will be able to see the links alone on the browser and when we choose to click on any of the links showcased (then you can see that the route has been changed). React JS - Flux Concepts As discussed earlier, Flux is a programming concept and a design pattern that talks about data being unidirectional. It means to say that the data that enters the application flows through it in one direction until it is rendered on the screen.   Let us now discuss a little bit regarding the flux elements that we would be discussing further with an example in detail. There are 4 elements that we can broadly classify into and discuss about these: 1. Actions − Actions are sent to a dispatcher that will, in turn, trigger the required data flow. 2. Store - Stores are the places where the application state and logic are held. Each and every store maintains a particular state and this will be updated once when it’s needed. 3. Dispatcher − Dispatcher can be understood as the Central Hub of the application. All the data is dispatched and sent to the stores. 4. View - The View is the element that receives the data from the stores and renders it on the application. React JS Using Flux In this section, let us try understanding the Flux usage based on the concepts discussed in the previous section. To implement Flux pattern in React JS, we will be using the Redux framework. Hence the first step here would be to install the Redux framework and then integrate with the React JS framework. Installation of Redux can be done via a command line tool command shown below:   C:UsersDesktopReactJSApplication>npm install react-redux --save   Once the installation is concluded, we then have to create the files and folders that are required for our application - which would typically be our actions, reducers, and components.   C:UsersDesktopReactJSApplication>mkdir actions C:UsersDesktopReactJSApplication>mkdir components C:UsersDesktopReactJSApplication>mkdir reducers C:UsersDesktopReactJSApplication>type nul > actions/actions.js C:UsersDesktopReactJSApplication>type nul > reducers/reducers.js C:UsersDesktopReactJSApplication>type nul > components/AddTodo.js C:UsersDesktopReactJSApplication>type nul > components/Todo.js C:UsersDesktopReactJSApplication>type nul > components/TodoList.js   Once the necessary files and folders are created, the next step then would be to fill these files with the necessary code snippets to get our application working. Actions are the JavaScript objects which use the type property in order to inform about the data that needs to be sent to the store. Let us now check our actions.js code: code Once the required actions are created, we then move on to creating our reducers. These reducers specify the changes that are supposed to be happening on the application. A reducer is a function that takes in two different parameters (state and action) to determine and return the updated state. Let us now check out reducers.js code: code As we have discussed, a Store is the place where it holds the application’s state details. Once you have a reducer, it is very quick to create a Store. Let us now check our main.js code implementation:   code   The component “App” is the actual root component of the application that we are looking at. In this application, only the App component is the one that should be aware of Redux presence. Let us now take a look at its code as well for this example (App.jsx) code:    code Once all of these are done, then we can look at the other components that are required. Let us now take a look at components / AddTodo.js code: code   Let us now take a look at the components/Todo.js code as well: code components/TodoList.js code: code Once, when we run the application, this is how it gets rendered on the browser.   React JS - Animations In this section of the article, we will go through the animations that can be achieved using React JS Animations. For this to happen, we are required to install a module ‘React CSS Transitions Group’. The following command should suffice to install this:   C:UsersDesktopReactJSApplication>install react-addons-css-transition group   Once this installation is successfully done, then you’ll need to add some files that are required for creating any animations using React JS. Let us now create the style.css file from the command line tool itself.   C:UsersDesktopReactJSApplication>type nul > css/style.css   Corresponding change has to be included in the index.html as well:   code   Here, we will be creating a normal React component. Let us now take a look at the (App.jsx) file:   code   Let us now take a look at the (main.js) file:   code   Once we start the server, we should be able to see the browser render something similar to this:     React JS - Higher Order Functions Higher Order Functions (HOFs) are the JavaScript functions that provide additional functionalities to the existing React component. These functions always take input values and provide return values according to the input data. That means, if the input values are changed, then the HOFs are re-run to provide the resultant return value based on the input values.  A Higher Order Component, abbreviated as HOC  is a wrapper around a React component and provides additional data as input. To be very precise, it is also a function which takes a component as input and returns a totally different component which internally wraps the original component. Let’s understand this with an example and also check how this actually works. MyHigherOrderFunction is a HOF which is used to pass the data to MyComponent. The function that we have created, then takes MyComponent and strengthens it with the data “newlyProvidedData” - returns the modified component which will inturn be rendered on to the browser. code When we run this on the browser, this will be shown: React JS Best Practices In this section, we will go through the best practices that one can imbibe to write better code. These techniques will help you stay consistent during your application development phase.  Let us go through these one after the other to understand them well: 1. Usage of state can be avoided to the maximum and a good practice is to centralize the state and pass down the tree as props. A container element can be set around the properties which will ensure that the state is held intact. One of the best ways to tackle states in React JS applications is to use Flux pattern. 2. Always define PropTypes as they will help you in tracking all the props in your application. This always forms a reference to the other developers working on the same project. 3. React JS recommends the usage of Single Responsibility Principle, meaning, that there should be a single component that handles the responsibility of a functionality. It is suggested to refactor code wherever necessary so as to ensure that there are no more than one functionality per component. 4. Earlier React JS versions provided support for reusable functionalities, which is no longer available - hence the usage of Higher Order Components (HOC) is suggested. Conclusion In this article, we have covered a lot of topics ranging from introduction to React JS, advantages, limitations, features, installation procedures, various components, and best practices. React JS is a wonderful JavaScript library that helps in both the server side and client side scripting and has got a lot of following in the developers community. It has backing from Facebook where there is active development going on to make it a better UI framework altogether. We have put in great amount of effort in putting most of the details here to precision. If you find anything incorrect, please let us know in the comments section for us to correct the same. 

  • 07
    Dec
    2018
    Salesforce App Development

    Salesforce Platform: Salesforce platform is used to develop mobile apps for anyone. It provides freedom for developers to build and administrators to administer the apps in the Salesforce Org. In today’s world, every organisation has a mobile app for customer service process if they are a product based company. For convenient user experience, apps are provided with metadata, so they provide content intelligently to the users. The following features to be matched and deliver with the exact features found on the mobile:  Plotting addresses on maps. A single tap can make a call to the desired person. Workflows and few more services. Administrators and Business users can create apps with the click or drag and drop functionality but not coding as developers. Developers can create apps with important rules, dynamic UIs and approval processes. Salesforce provides the administrators with the tools where they can centrally manage applications without reducing the businesses need for innovation. Salesforce design includes open APIs(Application Program Interface) for integration and extensibility and provides as a powerful developer tool for the developer to build the application on the platform. The ISVs(Independent Software Vendors) that are developing on the Salesforce platform are capable of version control management and advanced packaging, feed discovery of the apps in the Salesforce Platform. Get ahead in your career by learning Salesforce through Mindmajix Salesforce Training. Salesforce App Salesforce apps are mobile apps, which provide users with real-time information to access in or out of the office premise. The Salesforce apps are hassle-free in any mobile platform i.e android, iOS etc. The apps can be downloaded from the Play Store and iOS app store to use them. The users can access the data or information in any moments, whether they are waiting for a flight to board or waiting in a line for coffee etc. They can access the data or information very easily with these app installed in their mobile. Requirements To Use Salesforce: Salesforce app is mostly, supported in portrait modes only. But, we have an exception that Salesforce for iOS operating systems support both portrait and landscape modes. The application is supported on most of the mobile platforms and they are provided with user license in many Salesforce Editions. Let, us proceed with an example and build an app in Salesforce: How To Create An Application In Salesforce: Let us assume that our client is “naukri.com” and create an application. Steps To Create Application: Login to Salesforce org with provided credentials. Navigation To App Creation: Setup >> build >> create >> apps >> new. Click on “New” Button. Step1: The process is called as Application Creation Wizard(ACW). Wizard - is a setup where you have a target to proceed, which includes steps. We have two options to select: Custom app. Console.                        Check Out Salesforce Tutorials Please select “custom app” and proceed to next, to ensure that the application can be modified in the further steps. Whereas “default apps” cannot be customised. “Console” app has limited option to select and is a default app. Click on “Next”. Step2: Fill the fields below as shown for defining the custom app. We have 3 fields mentioned as  App Label - (It is for customer purpose. It can include special symbols also - Naukri.Com). App Name - (It is for SF purpose. It replaces every space or special character with “_” symbol as shown in the fig. This is by default). Description - (In this area we can add extra information about the application). Note: While creating anything in Salesforce, we give a name, such that it should be understandable by others, whenever they see it. As mentioned our client is Naukri.com. The app can be named with it.  Step3: In this step, we are to upload the “logo” of our application. We can proceed without uploading an image for “logo”, as we need to know about Document Object, Object Creation & Field Creation etc. we will discuss in the next topics further. We proceed with the “next” button. If we do not upload a logo, it will take the Salesforce logo by default. Every logo in Salesforce has a default meaning involved in it.  Step4: In this step, we can select “Tab” that requires in the application, just by dragging them to the right-hand side of the “selected tab” area. “Home” is by default we can not neglect it. We will create everything from scrap no shortcuts. So click on “next” without selecting anything. Step5: In this step, we can customise, the app for user level profiles. What are the apps to be visible & by default which, can access the applications? Profile: It is user level access permissions granting place, which has few restrictions for accessing boundary levels of the information.  Frequently Asked Salesforce Interview Questions & Answers Department in real life = Profile in Salesforce. In the below figure shown the profiles that are visible are by “Default”-(Which are already created).  Click “next” to proceed. The application has created. We can have a look at the application created by logging with our Salesforce Credentials. Let, we have a look at the app created. In the next topics, we will discuss in detail about, “Tab creation”, “Object Creation” and “Field Creation” in Salesforce. Keep following us for more info on Salesforce Administration.

  • 06
    Dec
    2018
    An Overview Of Salesforce Environment

    According to force.com, environment or organisation is the work area for a specific login. In general explanation - If you sign up to a Gmail account, you will have a unique username and password. The same way, if you subscribe to force.com cloud computing, you will be provided with a unique username and password to work in your specified cloud computing area or the environment or Org. Below mentioned are few basic features every user has by default: The environment specified for you can be used to develop, test and can be used for production also. The environment is customised according to our requirement, i.e. (Apex code, Workflow, Custom DB Attributes & Objects). The environment has some basic features. Advanced features for the environment are not by default such as multi-currency / Dev preview tech.  It is easy to access the environment or org or area in the web browser. Few of the environments can be accessed through Metadata API, SOAP API and Force IDE’s. We have different types of environments. They are broadly classified into three categories and they are: Production Environment. Testing Environment. Development Environment. Get ahead in your career by learning Salesforce through Mindmajix Salesforce Training. After Getting Salesforce Environment: Perform the initial check-in Salesforce Environment: Check count of user license(Number of users). Check count of the sandbox(daily working area). Let us discuss in detail: How to login to Salesforce Environment. Salesforce Org Overview - (logo, search, switch to Salesforce lightning, help etc) in detail. How to check for user license in Salesforce Work Area. How to check for Sandbox in Salesforce Work Area. Salesforce Environment Login to Salesforce Environment with provided credentials. Let us have a look at the home page and Salesforce Work-area. To the top left corner, you can see the “logo” which, is used for branding purpose. Let me explain it, if your customer is naukri.com you can upload the logo of the naukri.com. Frequently Asked Salesforce Interview Questions & Answers Next, to the “Logo“, you can see the “Global Search” bar for search purpose which gives the total information related to reports(which is used already with the projects). Next, to the “Global Search” you can see “Switch To Lightning Experience” If you click on this you will change the view from “Salesforce Classic View to Salesforce Lightning View”. Next to the “Switch To Lightning Experience” you can see the “User Profile”. In this, you can customise your email notification, time-zone, language etc. Next to the “User Profile”, you can see the “Setup”. In this you can perform ‘n’ number of activities, depending on your profile as Salesforce developer, Salesforce admin, Senior admin, Senior developer. It is the importance of all, say for example in your entire tenure in salesforce 80% of the time you will be spending on these and the remaining 20% in remaining works related to Salesforce. Next, to the “Setup”, you can see “Help & Training”, It is used to find the require help docs and support to resolve if any issue occurs.                        Check Out Salesforce Tutorials How to check for user license in Salesforce Work Area: Steps To Follow: Open the SF screen→ Click On “Setup”→ Scroll down→ To the Bottom Left corner you can find “Monitor”→ (under that)”System Overview”→ Click on it. The screen will be displayed as shown below. Look at the data storage section highlighted. It is the storage assigned to this particular user. Scroll down. Look at the highlighted area, and this specifies that all the user licence If you want to check for all the user licenses, then click on “Show All”→ In the figure as shown below. The list of all user licenses will be displayed as shown in the below figure. Explore Salesforce Sample Resumes! Download & Edit, Get Noticed by Top Employers!Download Now! How to check for Sandboxes in Salesforce Work Area: Steps To Follow: Open the Salesforce screen→ Click On “Setup”→ Scroll down→ To the Bottom Left corner you can find “Deploy”→ (under that)”Sandboxes”→ Click on it. The below figure describes the available sandboxes for this specific user. In the next topics, we will discuss in detail about them, “The Salesforce App Development”. Keep following us for more info on salesforce administration.

  • 06
    Dec
    2018
    SalesForce Introduction

    Let us start from scratch in learning about salesforce and the initial steps we need to follow in any salesforce project to acquire a job in this field.  Salesforce is the best platform to start for a newbie, who aspire to have a career in CRM. In this particular platform, you need to have both technical and business knowledge to get shined. As salesforce is a cloud related technology, you have hassle free environment to deal with. Before going to start on salesforce technology, you can start with an agenda. Primary steps before we start any salesforce project. The below conversation between an employee, manager, employer, and the client will detail you about the live situation faced by everyone during their job tenure. Manager In First Meeting:: Good Morning Guys! Congrats. Employee: Good Morning Sir. Manager: It’s the first day of your job. You might me thinking why we held this meeting. We have a problem to deal with. So, this urgent meeting is because, as you guys know our company is dealing with various softwares solutions - .net, Java, Php, Oracle, etc, and we have a lot of other projects also. One of our clients has contacted me and said that “Can you give a service in Salesforce Technology”. I said “no”, as we don’t have employees working in salesforce technology.  Client: But, I am planning to start the work in few months from now. Manager: Okay, give me some time to start the project, as we don’t lose our valuable customers. Manager: In the meantime, I have posted in job portals for hiring employees, build a team, and start the project. But, the client had contacted me 1 day back and said. Client: I cannot wait for few more months. I want to start the project from the next day itself. Manager: I got surprised as we are not in a position to start the project immediately. I have explained the situation to the CEO, and asked him how we can start this project as we are not having any person with knowledge of salesforce.  CEO Replies.. CEO: I know about that client very well. If we say we cannot start the project, client will look for other company to complete the project. So, we have no option. Explanation from CEO to Manager.. CEO to Manager: We are going to hire some college pass outs and project them as salesforce professionals and get started. Manager: “I said okay”, this is the reason why we are having meeting in urgent. We are going to project you as salesforce professionals and we will be working like that.”  Employee: Okay! Manager Discussion with employees. Manger: You guys must be surprised because you are college pass outs and how you can work on a project without having any idea of what salesforce is ?  So, how things are going to happen ? Don’t worry guys. I have already discussed with CEO about the limitations you are having and I also will work closely with you. I am sending few documents to you. Just go through them and start reading about salesforce. Today evening, we are having a meeting with the client and we proceed daily in this way. Employee replies.. Employee: “Okay”, here, we have no option as it is from the boss and we need to proceed according to it. And, the employee started reading about salesforce. Note: A question may arise that why we need to take this hard challenge or decision from the starting level. It is about the market in the IT industry. At least 90 percent of people have faced such kind of situation at least once in their career.  The meeting with the client has started in the scheduled time. Manager: “Hai sir, we are your salesforce team, we are going to help you for the various implementations of salesforce procedures in your business and take all responsibility of you salesforce needs.”  Client: Fantastic! Nice to meet you and good to know the team is ready. You guys know that my project is urgent. Employee: “Yes sir we know it is urgent for you. We are ready, and we can get started.”Client: Fantastic. Client asked... Client: “What are the primary steps to start the project.” Note: Always remember, many companies and many people follow these practices like, as soon as they acquire the project, they directly start implementing and start coding and working directly. They know, as they work they can claim billing from the client. But, that’s not good ideally and you should understand your client’s business first. If you are not aware of it, the client will complain that you are not giving the proper solution to him or not able to understand his business etc. So, you should know your: Employee: Sir, we can select from the above plans based on our requirement. I will explain in detail about each plan so that you will have an idea on selecting the plan. Employee explains the pros & cons of each plan in detail to the client. Client: Very happy to have my queries cleared from your side. We will go with the selected plan accordingly. From the above conversation, it is clear that you should not only have technical knowledge but also an overview of client’s business along with salesforce services details as well. The Billing is generated on a monthly basis - per single user.  Example:  According to the customer selection of plan, the billing is generated. Say, for example the client has selected 150$ plan. 1 user * 150$$ = 150$$/month. 2 user * 150$$ = 300$$/month. Note: Salesforce never works in months, the minimum subscription would be 1 year. It is the only drawback. Current Trends Of Salesforce In The Market: According to the latest market trends, in CRM, salesforce is the leading software. Even the cost of salesforce has never become a drawback to success. Salesforce has acquired the No 1 position though it is costly. Because of the kind of features it is providing for the industry, the other companies are lagging behind it. It is the reason companies don’t mind paying a lot of money to Salesforce.  Remaining topics will be continued from the next blog...keep following us.  

  • 04
    Dec
    2018
    NetSuite Sandbox

    Today's business world is quite the opposite from the past it used to be. Organizations are always engaging in finding new ways to fulfill the ever-changing needs of their customers with their innovative and cost-effective products. Companies are investing in technology to serve their customers 24/7 and are trying to expand their business internationally. Technological changes and advanced software made companies operate internationally. Netsuite helps organizations in finding innovative ways to deliver their services.  Change is constant and inevitable in any field. Business organisations have to embrace the change to reach their desired destinations. Competitors in the market are ready to grab every opportunity available to them to catch the new customer segments. To face this rapid competition and to sustain in the long run, organizations have to come up with latest innovations and new technologies to serve customers with better products and services. Netsuite  Netsuite is an online software system which enables organizations to handle all business related activities through a single system.  This service is simple to setup  and easy to use, and more importantly, it is not associated with fees such as licensing, new hardware setup, etc.  Companies across the world started migrating to Netsuite software for multiple purposes, which include enterprise resource planning (ERP), to handle customer relationship management (CRM), to host e-commerce stores, to track their financials and to track the inventory availability and much more. It is a very flexible software and can be applied to different applications of the business.  Majority of the companies are shifting to cloud technologies to lower the operating costs and to take the competitive edge over their rivals. Cloud enables business organizations in reducing the operating costs and thereby helping to reach new markets at minimal cost. Cloud allows organizations to achieve fault tolerance, cost efficiency, unlimited storage facility, and the ultimate aim to achieve success.     Are you interested in taking up for NetSuite Course? Enroll for Free Demo on NetSuite Training What is Sandbox? A sandbox is a testing environment in which we can test any program or software before moving it into the live production process. Sandbox environment helps us in finding the loopholes or errors associated with it. It acts as a replica of live testing without affecting the actual process. A sandbox creates an operational environment in which we can perform execution, operation, and testing process without any effect on other running programs in the system. Sandbox technique is also used to test the accuracy of information security to make sure files containing no malicious code or to analyse the suspicious software. What is Sandbox Account in NetSuite? NetSuite offers a product called Sandbox to their customers, and it acts as a copy of their current company database on a separate server. Once you are done with the buying process the next step is to request access for the Refresh sandbox account. Refresh feature helps in creating a copy of the production database at the time of the request. This process takes 1-2 business days to get completed.  We get a limited number of Refresh options from the NetSuite, and if we need extra, we need to pay for it.  Sandbox would be a great facility for the NetSuite customers who wish to develop their system customizations, Java Scripting modes using SuiteScript, or workflows using SuiteFlow, or any other portion of their NetSuite system.  Sandbox enables companies in training their employees without affecting the actual production process.  Types of Sandbox accounts There are two different types of Sandbox accounts available to its users. They are Development account and Premium account.  Sandbox Development account:  The development account comes with the same features as what your production account contains, but it does not include any production data or company customizations. It is useful when we outsource or let outsiders develop something for us without allowing them to access our Production environment.   Netsuite Premium Sandbox: Standard sandbox is best suitable for those whose operations are limited or who use it for end to end testing purpose. But, when it comes to organizations with multiple projects and where complexity is high, we need a sandbox which supports such kind of environments.  Netsuite offers Premium sandbox account for the customers whose data volumes and level of Complexity are bigger.  It supports high volume automated performance testing. The premium offering will replicate your customizations, configuration, and data also. It even allows us to refresh data at any time. Key features of Premium Sandbox Premium Sandbox is best suitable for customers or clients whose transactions are vast and complex. It pays close attention to your production performance profile and acts as a tester.  This sandbox is best suitable to test the process of business customizations, and their accompanying data flows in an isolated environment.  It gives us an environment for testing the long-running customizations, and then we can bundle and move to a production account with the help of SuiteBundler. Premium Sandbox allows a functional environment for training individual employees and teams, and permit to test existing and new projects.  It contains the same features and data of the production account.    Sandbox sub-account types Each sandbox account that we purchase comes with three different accounts used for various purposes. These three accounts are also called development accounts. Let's have a glance on each account. 1. Development Account:  With this, we can perform the activities like SuiteFlow customization building, basic SuiteScript, and testing which does not demand customer data.  2. Single Sandbox Account  It is well suited for the organizations or clients who wish to develop customizations with SuitScript or SuitFlow. 3. Multiple Sandboxes: It helps the organization which works with larger and more complex projects like building multiple large SuiteScript applications in parallel. As we have multiple sandboxes, this feature will facilitate developers to work with separate data sets and test customizations on their own.  How to Grant sandbox access to the individual user?  Below are the simple steps that need to be followed to give access to the individual user or to the person whom you want to provide access to the sandbox.  Login to your NetSuite sandbox account in an administrator role  by using the below link  https://system.sandbox.netsuite.com/pages/customerlogin.jsp Go to Lists > Employees > Employees and then click on employee record on sandbox.    In the employee record tab, click on Access > Grant access, and provide the information specified over there.  Click on Save changes. Now the employee or authorized person whom you have granted permission can have access to it.  How to remove sandbox access from individual users? These are the steps to be followed to remove NetSuite Sandbox access:  Login to your NetSuite sandbox account in an administrator role  by using below link https://system.sandbox.netsuite.com/pages/customerlogin.jsp Go to Lists > Employees > Employees and then click on employee record on sandbox.   In the employee record tab, click on Access > clear the Grant access Box. Click on Save changes. Now the employee or authorized person whom you have removed from the Sandbox can no longer log in to it. Frequently asked Netsuite Interview Questions & Answers Sandbox Refresh When you want to refresh your Netsuite sandbox account, it will create a copy of your production account at the time of execution. Hence, all the customizations and configurations you have used in the production process will be saved.  Once you are done with the Refresh process, the entire data in the sandbox will be lost.   If you wish to have your customizations in between the refresh cycles, you need to use SuiteCloud developer framework or SuiteBuilder. With this, we can copy a database from Sandbox to production and vice versa.     Netsuite Sandbox key Features It creates an exact copy of the organization’s production environment which includes data of the company and its customizations.    Infrastructure is housed and maintained within NetSuite's enterprise environment.  It facilitates an environment to test, develop, train, and customize according to your business requirements.  We will get two Access options after sandbox refresh, one is “Administrator only”, and the other is “all users except customer centre roles.”  Conclusion It is essential for organizations to embrace the changing technology, to capture new markets, and to simplify their business solutions. An organization will reach its goals and targets when they can satisfy their customers’ needs and wants timely and at a reasonable price. Netsuite ERP provides a one-stop solution to all problems of the business, and it enables its users to simplify their business processes. Netsuite Sandbox is a great feature and helps organizations in testing and training their employees. It works as a place to experiment with new projects without affecting the actual production process. It also saves time and money and prevents random failures in the production process. 

  • 03
    Dec
    2018
    SCCM Tutorial

    Introduction: In this article, we will understand products that help manage an organization’s infrastructure from inception to retiring the physical/virtual machines. There are various products that handle individual functionalities and all of these are handled from one suite for intercommunication amongst them. Following are the topics that we are going to cover in this article in detail. SCCM Tutorials - Table of Contents What is SCCM? Systems Management in Enterprise System Center family of Products Features of SCCM Business Solutions addressed by SCCM New look of SCCM Conclusion What is SCCM? Microsoft System Center Configuration Manager (SCCM) is a Windows product which enables administrators to manage security and deployment of applications, devices that are part of an Enterprise. System Center is the family or suite of management tools from Microsoft. Organizations would rather purchase System Center Configuration Manager than purchasing a component in the System Center for updating or patching their systems. Systems Management in Enterprise Earlier to the advent of any Systems Management tools, IT departments struggled a lot with the server and client system management. With the tools like Microsoft System Center, patching a computer, imaging workstations, rolling out software, monitoring servers, network devices and backups were all done in a tedious manner. As tools evolved around the systems management, there used to be dedicated servers for these requirements and this had to repeat for another set of requirements. This was all a clumsy process as there was no communication between these separate servers. Get ahead in your career by learning SCCM through Mindmajix SCCM Training. To understand this, consider an example where an organization keeps track of assets through one product and have a separate one to put images onto these systems. It has a product to update or patch the systems when required and another one to monitor the system and alert the administrators in any unforeseen situations. Finally, a different product to backup data and a different product to provide security management of the system also exist. Having said this, Microsoft was in a situation like this for about 5 to 8 years when all of these were handled via different products. After many years, Microsoft had put all of these products into a single suite of products called the System Center and spent enough time to get all of these products to work together. Now, an organization which wants to buy a new license can actually buy a suite license to work with all these products under a single umbrella and leverage benefits out of these products for their own enterprises. The section focuses on bringing in a product as like System Center which can handle all the activities of a system from imaging, deployment, patching, updating, maintenance, support, and retire under a single life-cycle management tool. System Center family of Products There are many products that constitute System Center, and the whole suite complements each other with their functionalities. Based on the licenses that are purchased, organizations can work along with more than one of these products or tools within their Enterprise. With each successful release, more and more functionalities and capabilities are added which help each other. Let us now take a look at each of these products individually to see their functionality set: 1. System Center Configuration Manager System Center Configuration Manager (SCCM) comes with the ability of imaging and installing the base operating system on a system based on the configuration provided. Once an operating system in installed, SCCM kicks in to update or patch the system. It keeps track of the system inventory and remote control capabilities. It enables IT administrators to keep up with the system configuration of all the machines based on a single and common organizational configuration. 2. System Center Operations Manager: SCCM is the product that lays down the base configuration of a system and keeps it updated and patched. System Center Operations Manager then takes over the responsibility of monitoring the health of the system along with all other applications installed on that specific system. There are specific set of rules that track down the normal functioning of the system, and if there are any deviations, the necessary personnel is notified of the changes. 3. System Center Data Protection Manager Data Protection Manager (DPM) comes in handy when SCOM reports any faults on a physical machine. DPM helps in recovery from the backups that it holds. DPM takes backups of server file system, sharepoint data, exchange databases, SQL databases on a standard schedule. This helps in recovering a system by full data recovery which is either corrupted or damaged. 4. System Center Virtual Machine Manager There is a shift of organization’s physical systems to virtual systems for development, maintenance, and production, and hence comes a tool that handles all the life cycle related activities for the virtual machines - System Center Virtual Machine Manager (VMM). If there is an instance where a physical or a virtual system is about to fail, SCOM can trigger an automatic creation of new session using SCCM and Hyper-V to build a new virtual system. VMM also helps in transferring the operating system, application, and data to a virtual machine in an automated Physical To Virtual (P2V) process. 5. System Center Service Manager Most of the tools from the System Center suite of products revolve around the IT related tasks such as patching, imaging, monitoring, backups - there are other organizational needs such as managing processes and change control. System Center Service Manager (SCSM) is an incident management and change control system which integrates with SCCM and the like seamlessly. It helps in logging all the issues identified with these tools and gathers all the details around the issue for a one-point reference to the Desk personnel or the Support personnel. 6. System Center Capacity Planner With the growing needs of an organization, there is always a need to upgrade the infrastructure for an organization. System Center Capacity Planner helps in identifying and testing performance demands from the current setup and plan for the future requirements aptly. Based on the current requirement, it helps in identifying the relative requirements on the hardware to meet the performance demands for your organization. 7. System Center Mobile Device Manager Organizations run on Servers and Clients for their related operations, but with the advent of smartphones with an equal computing power, mobile devices also have joined the bandwagon for operations carried out in organizations. System Center Mobile Device Manager (MDM) joins hands with System Center Configuration Manager (SCCM) to handle all the life cycle stages from inception to completion for all mobile devices and in simple words, MDM is to mobile devices what SCCM is for servers. Provisioning, monitoring, updating, securing, wiping the devices are all the activities that can be done with MDM. 8. System Center Essentials Not every organization might have a dedicated IT wing to handle all the system, server related stuff (organizations with less than 500 users or 50 servers). Microsoft provides System Center Essentials which enables management functions related to tracking inventory, patching and updating these systems, monitoring, deploying newer software. All of these can be done from just this single tool, helping them to scale on their system administration capabilities. Major Features of System Configuration Manager In this section, let us try and understand the major features that are provided by System Center Configuration Manager (SCCM). 1. Operating System deployment: Installation of the core Operating System is the very first step that needs to be done to initiate the life-cycle for a server altogether. SCCM provides all the tools an organization require for Operating system deployment - either via the imaged installation or as a scripted method of installation. 2. Patching & Updating: When the installation of Operating system is completed successfully, SCCM initiates patching and updating these systems. Most of the organizations rely on the free service (Windows Server Update Services) to patch and update the systems but SCCM leverages everything that WSUS provides and over that, provides the IT administrators an active patching and updating in addition to WSUS. The active update system enforces updates, forces systems to be patched or updated and later rebooted following the IT guidelines published by organizations. 3. Asset Tracking: Once a system has been created with the Operating system that is required, and later updated, patched, such systems need to be kept in track of further timely updates or patches. SCCM includes the tools that are required to keep track of the hardware, software assets of the system that it is managing altogether. 4. Remote Control: If a user or a system encounters an issue which might require further assistance of an IT administrator, there is a provision to take remote access of the system to analyze the problem. SCCM has a remote control process that allows an IT administrator or a support engineer to access the system remotely. 5. Software deployment: Installing the core operating system on a physical/virtual machine is one part and the other part is the additional softwares that are required on a system. SCCM provides a tool that allows to install a simple plugin or a complex suite of applications with unique application configuration. This is one of a kind functionality that makes it more suitable for organizations where certain IT guidelines can be implemented without halting anything. 6. Desired Configuration Management: This is the other feature that follows the IT guidelines outlaid by an organization where the standard configuration of a system cannot be altered. This ensures that the system has the same software setup, updates, drivers and configuration settings across all the systems. Desired Configuration Management (DCM) tool within SCCM ensures the stringent audit constraints are met and compliance is maintained. 7. Internet Client: This is a significant component on the SCCM tool which enables devices like remote systems or mobile devices be accessed remotely without specifically bringing them into the VPN network for any maintenance requirements. This can now happen via an Internet Client and a PKI (Public Key Infrastructure) certificate installed on the system. With these prerequisites, SCCM will be able to connect to that device anywhere in the world automatically to inventory, patch, update, monitor the system. 8. Reporting: SCCM provides an out of the box integration with a report generation tool that generates reports based on the requirements outlaid by the IT administrators. These reports may vary based on the requirement like report of systems that have missed the patches or updates, report of standard configuration, inventory reports, etc. Business Solutions addressed by SCCM System Center Configuration Manager (SCCM) helps an organization maintain consistency in the system configuration and management across all the systems. Rather than having to build a workstation or a server manually and individually, SCCM makes use of the templates to build these systems pretty quick. IT personnel can create these templates based on the guidelines outlaid and also to meet the requirements of the organization. In the case of template-based installation, organizations can very well depend on the consistency in the build configuration for all the hardware systems throughout the enterprise. SCCM in conjunction with other components ensures achieving different functionalities. One of the best examples of such a component is System Center Operations Manager (SCOM). System Center Operations Manager (SCOM) along with System Center Configuration Manager (SCCM) helps an organization stay ahead and proactive to identify issues, faults on time and helps take necessary actions to minimize the downtime on any issues. These tools also help recover systems that have failed for various other reasons with the help of a tool called Data Protection Manager (DPM). It also enables monitoring of the normal operations of the available set of servers, workstations, and applications. There are policies that are established to update systems of a specific functional role be updated or patched at the same time. This is a feature that is provided by one of the SCCM components called the Desired Configuration Management (DCM). It ensures specific updates are pushed to systems that meet a functional role. This further helps in ensuring all the audit requirements, and also in maintaining compliance at an organization level. This helps in answering all the questions related to audits and compliance requirements with just reports and nothing at all. Frequently Asked SCCM Interview Questions New look of SCCM If you are well aware of the SCCM tool altogether, then you would be able to appreciate what has been developed and released in the new releases. If you are not aware of the tool anyway, then the following few points should be good enough to appreciate what is available in the latest releases. Let us take a closer look at the following points then: 1. User focus: IT consumerization is the fact of day and resistance against this will not allow an organization to scale further. With more and more devices being available in the market, there is always an expectation to support all of these. As SCCM has always been about systems management, considering the changing landscape, user has been given all the attention that it requires. This allows them to gain more control over the software that is installed. An example of this is the definition of user's working hours and based on these timings, the upgrades and patches are applied on the system. There can be more one device tagged to a single user, meaning that there can be more than one primary user for every device that is being worked upon. These relationships are handled using the User Device Affinity (UDA). Users can manage their own systems using a new interface called the Software Center. This is more like a shopping cart approach where users search and find what they want to request for installations. Based on the applications, few might be installed right away and few others that require administrative approvals. 2. Role-based Access Control: Based on the recent trends amongst the products in the industry (in general), there is a growing adoption towards role-based security. This has now been introduced in SCCM 2012 and is controlled by Role-Based Access Control (RBAC) hiding the elements that the user doesn’t have access to. The tasks are grouped into security roles administratively. There are few roles provided with the tool and, in addition to that, business-specific roles and scopes will be added later. The multilayer approach helps you leverage the power of cloud, and at the same time protecting on-premise clients from any possible potential threats from the internet. SCCM 2012 comes with a new console altogether. This no longer relies on Microsoft Management Console (MMC). Take a look at the following: 3. Smartphone support: System Center Mobile Device Manager (MDM) 2008 wasn’t exactly a success but its functionality was rebuilt into SCCM 2012. Support for iPhone, Android, and Windows phones was covered through the Exchange Active-Sync connector. Conclusion In this article, we have tried to understand the business problem that Software Center Configuration Manager (SCCM) tries to resolve. We have understood the systems management in an enterprise and how SCCM resolves this problem with the features that it provides. We have then discussed the System Center suite of products and its features, along with it, we have also taken a closer look at the major features provided by SCCM. We have also seen the business use cases where SCCM finds its usage. We have also discussed the new features that are provided in the latest releases of SCCM. Hope you have found all the details that you were looking for, in this article. Explore SCCM Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download Now!  

  • 03
    Dec
    2018
    SAS Tutorial

    SAS is one of the mostly used software tools in the data analytics industry. It helps in building up an excellent knowledge in data analytics platform and, it can also be used for report writings. A brief on SAS & Data Analytics can be explained in this article: SAS Tutorial -Table of Contents What is Data Analytics? What is SAS? SAS Components Need for SAS Keyboard shortcut for SAS Installation of SAS Programming Running a SAS Program SAS User Interface SAS Program Structure SAS Useful Resources What is Data Analytics? The Science of drawing insights which is through raw information sources is known as Data Analytics. It uses qualitative and quantitative techniques and processes with the aim of ensuring an enhancement in productivity and business gain. The techniques in Data analytics will help the enterprises to disclose updates in metrics and trends else it will be an effect in the mass of information. Data is first extracted and then it is categorized so that behavioral data and patterns can be identified and then analyzed. Data Analysis techniques vary according to business requirements. Data analytics is primarily used in business-to-consumer (B2C) applications. Global enterprises collect and analyze data which has been obtained from various customers, business processes, market economics or practical experience. All of this helps in thorough decision-making. Data analytics can be categorized into four basic types. They are as follows. Descriptive analytics It gives an idea of what has happened over a given period of time; was there an increase in the number of views? Or are sales of this month stronger than last? Diagnostic analytics It is more focussed on why something has happened. It includes more diverse data inputs and involves a bit of hypothesizing; were the beer sales affected by the weather? Or was there an impact on sales by the latest marketing campaign? Predictive analytics It includes the analysis of what is likely going to happen in the near term; were the sales affected last time we had a hot summer? Or How many weather models are predicting a hot summer this year? Prescriptive analytics This moves into the territory of suggesting a plan of action; if the likelihood of a hot summer after averaging these five weather models is above 58%, then we should be adding a post afternoon shift to the brewery and rent an additional tank in order to increase the output. What is SAS? SAS can be considered as an integrated system of software solutions. It is an application suite which will mine, manage, alter, and retrieve data which has been gathered from a wide range of sources, and a statistical analysis will then be implemented on it. A graphical point-and-click user interface is provided keeping in mind the non-technical users and more advanced options can be accessed through the SAS language. SAS Components:  The software suite SAS comprises of components which can be useful to manage and maintain by operating system. Some of the SAS components are: Base SAS SAS/Graph Base SAS Base SAS is the most widely used component of SAS. It provides a data management facility and one can perform data analysis using Base SAS. It is a very flexible, extensible, fourth generation programming language, and web-based interface for data access, transformation, and reporting. It's is considered as the foundation for all SAS software. Apart from the easy-to-learn and flexible programming language, one acquires a programming interface which is web-based; programs that are ready-to-use for information storage and retrieval, data manipulation, reporting and descriptive statistics; a repository which is centralized metadata along with a macro facility which supports in minimising the time of programming and problems in maintenance. Base SAS provides many benefits such as: Helps in Integrating data across environments. Reads, formats, and analyzes any data. Programming is now fast and easy. Reports now delivered to mobile devices. Computing resources can be maximized. SAS and Hadoop can be combined. SAS/GRAPH With the help of SAS/Graph, one will be able to represent data in the form of graphs. This is useful in making the process of data visualization easy. Being vast and voluminous, it is a very powerful tool used in the creation of a wide range of business and scientific graphs. A graph represents data in an entirely different way, and with the help of SAS/GRAPH, one can perform this in a dazzling array of color and also make use of the 2 dimensional (2-D) and 3 dimensional (3-D) shapes, which are distinctly different compared to the tables consisting of rows and columns of text and numbers. The size of the sheer along with the  SAS/GRAPH complexity speaks to its power. Apart from the various versions of charts as well as graphs varying from a simple plot of data on an XY axis, the user of SAS entitles data in horizontal & vertical bars, pie charts, stars, and many additional graphical tools. Using those choices, there are tens of thousands of ways in which one can change the look of the graph with options, symbols, and other means. Graphing in SAS can seem intimidating to the new programmer since it occupies a whole wing of the house of SAS. There are many different ways make changes to the size, look, and demonstration of data using SAS/GRAPH within a graphical output. There are five SAS/GRAPH statistical graphics procedures, each of which has been designed with a specific purpose in mind.  The SGPLOT This procedure was designed with the motive of designing a single-celled graph, along with a single set of axes which is overlaid upon the multiple plots. The syntax of procedure is useful in supporting most of the different kinds of graph features and plots.  The SGPANEL This procedure is useful in creating classification panels for one or more than one classification variables. Every graph cell in the panel can have different kinds of plots - simple plot, multiple plot, or overlaid plots. The SGSCATTER This procedure is useful in creating paneled graphs containing multiple scatter plots. One has the ability to create three different types of layouts. The SGRENDER This procedure can be considered as a utility procedure that helps in outputting graphs from templates that are written in the Graph Template Language. The SGDESIGN This procedure is useful in creating graphical output which is based on a graph file that has been created by using the SAS/GRAPH ODS Graphics Designer application. SAS/STAT It helps you in performing various Statistical analyses, such as Variance, Regression, Multivariate, Survival and Psychometric analysis. SAS/STAT serves to both the specialized and business wide statistical requirements by providing traditional analysis of linear regression and variance to Bayesian inference and also high-performance modeling tools for huge data. SAS/STAT software provides statistical techniques. These techniques are used for applications which span industries. Let’s have a brief look at a couple of them below. Manufacturing: Helps in identifying all the important factors which go into the manufacturing of a machine. Food: Helps in Identifying and targeting the right audience for a new food item. Telecommunications: Helps in determining which factors are involved in communication with a pilot at an airport. Government: Helps in predicting the opinions of the public using statistical sampling techniques. Environmental Research: Helps in describing air pollution patterns with the use of spatial statistics. Health: Is useful in determining factors influencing healthcare of patients. Retail: Helps in predicting customer behavior on the launch of new products. SAS/STAT provides many benefits such as: Developing risk models. Performing diagnostic statistics. The latest and trending statistical techniques can be applied regardless of the size of data. Is useful in providing the advantage of technical support and web user communities. Relies on algorithms which have been validated.  Simplification will be offered within a single environment. SAS/ETS SAS/ETS is more suitable for Time Series Analysis. SAS/ETS provides a wide range of forecasting, time series and econometric techniques that are helpful in modeling, forecasting, and simulation of business processes for an enhanced strategic and tactical planning. SAS/ETS finds its use in estimating the effect that factors such as customer demographics, pricing decisions ,economic and market conditions and marketing activities have on business. It also helps whenever it is necessary to analyze or predict processes that happen over a period of time, or to analyze models that include simultaneous relationships. It is also useful whenever simultaneous relationships, or dynamic processes, time dependencies are complicating data analysis. For instance, to analyze pollution emissions data, the study of environmental quality might be using SAS/ETS software time series analysis tools. A study of pharmacokinetic to model the dynamics of drug metabolism in different tissues will be using features of SAS/ETS software’s for nonlinear systems. Need for SAS The use of SAS depends on what you want to achieve. It is used in data entry, retrieval, and management It helps in report writing and graphics design It finds its use in statistical and mathematical analysis It is also popular for business forecasting and decision support It also helps in operations research, project management, and applications development SAS can also be helpful in many ways It is helpful in accessing data in almost any format Ex: SAS tables, Microsoft Excel tables, and database files. It helps in managing and manipulating existing data in order to get the data that you need. Ex: Data can be subset and then combined with other data, and create new columns. It helps in analyzing your data utilising the techniques of statistics which varies from descriptive measures like correlations to logistic regression and mixed models to sophisticated methods like modern model selection and Bayesian hierarchical models. It also presents the results of your analyses in a meaningful report in a wide variety of formats, including HTML, PDF, and RTF that you can share with others. Keyboard Shortcuts for SAS If you treat you as a professional analyst, you must have already realized how important it is to put forth your working nature through the keyboard. Instead of your extraordinary performance with quick and more efficiently done, it is a remarkable representation by your colleagues and peers which can be achieved through the work you do without the utilisation of your mouse.  To lessen the workload and to make ease of tasks, have a glance at the following keyboard shortcuts of SAS. DESCRIPTION SHORTCUT KEY Find text Ctrl + F Find and replace text Ctrl + H Copy Selection Ctrl + C Paste Ctrl + V Cut Selection Ctrl + X Go to a particular line Ctrl + G Run or submit a program F3 or F8 Comment the selected code (/) Ctrl + / Uncomment the selected code (/) Ctrl + Shift + / Stop Processing or Cancel Submitted Statement Ctrl + Break Convert selected text to upper case Ctrl + Shift + U Convert selected text to lower case Ctrl + Shift + L Move to top CTRL+Home Move to end CTRL+End Move to top CTRL+Home To move cursor to the matching DO/END statement Alt + [ or Alt + ] To move cursor to matching brace/parentheses Ctrl + [ or Ctrl + ] Move to beginning of line Home To close the active window CTRL+F4 To exit the SAS system ALT+F4 Some more important Shortcuts that work only in SAS Enterprise Guide are as follows. Shortcut key Description Ctrl + right arrow Move to last column Ctrl + left arrow Move to first column Ctrl + I Format ugly code (Select the code and press Ctrl I) F2 Rename dataset Ctrl+Home Go to the first record, first column Ctrl+G Go to specific row or column Ctrl+End Go to the last record, last column Some other Useful SAS Keyboard Shortcuts are given below: Description Shortcut Key Collapse all folding blocks Alt + Ctrl + Number pad - Expand all folding blocks Alt + Ctrl + Number pad + Get Help for a SAS procedure Place the cursor within a procedure name and press F1 Expand all folding blocks Alt + Ctrl + Number pad + Move cursor to previous case change Alt + Left Open file window Ctrl + O Save as window Ctrl + S Clear window Ctrl + E Paste program below F4 Bring up word tip Alt + F1 + No Selection Hide the current word tip Esc Move cursor to next case change Alt + Right Move cursor to previous case change Alt + Left Undo edit Ctrl + Z Redo edit Ctrl + Y Clear window Ctrl + E System options window Ctrl + I Open file window Ctrl + O Save as window Ctrl + S Convert the selected text to uppercase Ctrl + Shift + U Submit selected code F8 Log F6 Output F7 Editor F8 File window Ctrl + Q Explorer window Ctrl + W Titles window Ctrl + T System options window Ctrl + I Context Help F1 Move cursor to next case change Alt + Right Next window Ctrl + F6 Next Window Ctrl + Tab Convert the selected text to lowercase Ctrl + Shift + L Cascade Shift + F5 Next window Ctrl + F6 Below are the steps to create keyboard shortcuts in SAS: Click the Enhanced Editor window in SAS. In the toolbar, you should select Tools and then Options next click on Keys. Go down to the keystroke where you would like to assign to the series of commands, by looking for a keystroke that has no assignment. Add the command code under the definition heading. For example: log; clear; output;clear; Click to Close the Keys window. Installation of SAS programming/Development environment The latest version of SAS available is SAS 9.4. Following are the complete instructions for installing the Windows version of SAS 9.4 on 7 and 8. This installation might take an hour or more. Similar steps can be followed for installation on any higher version of Windows. Installation Requirements For the installation from Software Acquisition, one need to choose up USB Key or 6 DVD discs. The editions such as Home premium, Enterprise, Ultimate and professional in Microsoft Windows 7 SP1. Professional and Enterprise editions in Microsoft Windows 8, 8.1, and 10. To install, windows administrator privileges are mandatory to login to windows. There must be a minimum free space of 13 GB for doing the installation (depends on the installation of SAS Foundation, it will be needing extra which depends upon the installation of  products chosen). To know more about the installation requirements, take a note on the SAS 9.4 Foundation for Microsoft Windows x64 or SAS 9.4 Foundation for Microsoft Windows which is mentioned in the PDF document Systems Requirements. Installation Procedure Start Windows All the remaining Windows applications including virus-scanning programs should be closed Insert into your DVD drive or USB Key, the SAS 9.4 DVD (disc 1). Run the “setup.exe” from root of the disc SAS_99YTT3_ds01. In case the installation does not start automatically, run from the root of the USB Key. After this is done, a prompt will be generated by User Account Control (UAC).  Click on Yes. Choose the setup Language of your choice in the “Choose Language” window, and then click on OK The “SAS Deployment Wizard 9.4″ splash screen will then appear. On this screen, click “Install SAS Software” and then click on Next. The “Specify SAS Home” screen will be appearing. On the “Select Deployment Type” screen, select Next. You need to specify the SAS Products to be installed which is present on the “Select Products to Install” screen. Check off the following products at least which is mandatory: SAS Foundation and Remaining selection of products are optional Once you can view the dialog box as Select SAS Foundation Products, click the SAS Foundation products which you are interested to install expect the checked defaults.  Click Next in order for further steps. In case you are running a 64-bit version of windows, you might be prompted to Select SAS Enterprise Guide Mode. Choose a mode and then click on Next to continue. On the “Select SAS Foundation Products”, you can choose default selected options or you have to choose your interested products to be installed. Click Next to continue. On the “Specify SAS Installation Data File”, select Next. In case the SAS Installation Data File on the media has expired, navigate to https://software.unc.edu/sas and then download an updated SAS Installation Data File. Next, click the Clear All button to reset all languages in the screen of “Select Language Support”, except English.  In a dialog box of “Select Regional Settings”, it is your wish to select from the list of drop-down for other regional setting or follow the default. Press Next for further steps to be continued. On the “Default Product for SAS File Types” screen, Select SAS Foundation (64-bit) and then click on Next. Leave the default Host Name and Port Number.  Click Next to continue. Don’t click Next in the dialog box of “Checking System”. It automatically forwards to the further dialog box Checking System, at the installation process which is from the package of loading installation, which is the. Running a SAS program Though there are many different ways to run SAS programs, they usually differ in the speed with which they run, the amount of computer resources that are required, and the amount of interaction that you will be having with the program (i.e, the kinds of changes one can make while the program is running). SAS Windowing Environment The SAS windowing environment is the way you will be interacting with SAS directly through a series of windows. By making use of these windows, one will be able to accomplish normal tasks such as organizing and locating files, editing and entering programs, analysing information of logs, observing procedure output, options setting , and much more. OS commands can also be given from within this environment, or the on-going session of SAS windowing environment can be suspended, and then enter operating system commands, and then resume the SAS windowing environment session at a next level of time. The SAS windowing environment is a fast and simplest way to program in SAS. It is a useful way in order to learn SAS and building programs on simple test files. Though it requires more computer resources than other techniques, a lot of time is saved in program development time using the SAS windowing environment. SAS/ASSIST Software One more important feature of SAS is the presence of SAS/ASSIST software. Here, a point-and-click interface is provided that helps you in selecting tasks that you want to perform. SAS then makes the submission of the SAS statements to complete those tasks. In order to use SAS/ASSIST, one need not necessarily know how to program in the SAS language. SAS/ASSIST functions by submitting SAS statements just as shown earlier in this section. In that way, a number of features are provided, but the total functionality of the software is not represented. In order to perform any tasks other than the ones that are available in SAS/ASSIST, you have to learn to program in SAS. Modes of Programming in SAS Non Interactive Mode In noninteractive mode, first, a file will be prepared that contains SAS statements and also system statements that are required by your operating environment. You can submit the program after doing this. Immediately the program starts running and the current workstation session will be occupied. While the program is running, you cannot continue to work in that session and there will be minimal interaction with the program. The log and procedure output go to the prespecified destinations, and these will not be visible until the program ends. One should make the edits and resubmit the program in order to modify the program or correct errors. Noninteractive execution might be faster than batch execution. This is due to the fact that the computer system runs the program immediately instead of waiting to schedule the program among other programs. Batch Mode Similar to non-interactive mode, one should have a file prepared that has all the SAS statements and any system statements that are required by your operating environment, and then you make the program submission. You can then work on a different task at your workstation. At the time when you are working, your jobs for execution will be scheduled by the operating environment (along with other jobs submitted by various people) and it will run. You can view  the log and the procedure output when the execution has been completed. The key characteristic of batch execution and other activities at your workstation are completely independent upon these executions. While the program is running, you cannot view it, and the errors can also be not rectified at the time they occur. Similarly, you can view the log and procedure output only after the program has finished running. They both wil go to prespecified destinations. To make modifications to the SAS program, the editor that is supported by your operating environment is used and new batch job can be submitted. When there is a charge for computer resources by the sites, batch processing is a relatively cost effective way in order to execute programs. It is particularly useful for huge programs or when the workstation has to be used for other tasks while the program is executing. Nevertheless, batch mode might not be efficient for learning SAS or developing and testing new programs. Interactive Line Mode In an interactive line-mode session, a very contrasting approach is followed compared to batch and non-interactive mode. You will be writing one line of a SAS program at once, then SAS executes each DATA or PROC step automatically once the end of step is recognized. The procedure output will be immediately displayed on the monitor. Based on your site's computer system and your workstation, the feature of scrolling backward and forward to see different parts of your log and procedure output is available. While scrolling up to the top of the screen, You tentatively can’t get them. For correcting errors and updating programs, the facilities are restricted which is one of the demerit of interactive line mode. These sessions will use fewer computer resources compared to a windowing environment. SAS Language, One should be familiar with the RUN, %LIST, and %INCLUDE and statements. SAS User Interface SAS Studio is the user interface using which you will be able to create SAS programs. Let us take a quick glance at the various windows and their usage. SAS Main Window This is the first window you will be seeing when you enter the SAS environment. To navigate through various programming features, the Navigation Pane which is on the left is used. In the right side is the Work Area which is useful for writing and executing the code. Code Autocomplete In SAS keywords, achieving the exact syntax is the prominent feature. It also provides the link redirecting to the documentation for that particular keyword. Program Execution Upon pressing the run icon present, the execution of code will start. This is the first icon from the left or you can also use the F3 button. Program Log The total log of the executed code is shown under the Log tab. All the errors, warnings or notes regarding the program’s execution are described here. In order to troubleshoot your code, this would be the window you should be looking for. Program Result The RESULTS tab will show the results of the code execution. By default, they are formatted as html tables.  Program Tabs For the creation and management of programs, the Navigation Area contains features in the form of Program tabs. Apart from this, Pre-built functionalities are also given to be used with your program. Server Files and Folders When you want to create additional programs, this would be the tab where you have to go. Also, we can import the data which needs to be analyzed and query the existing data. We can also create Folder shortcuts.  Tasks In order to use the built-in SAS programs, we use the Tasks tab. We have to only supply the input variables. For instance, under the statistics folder, you will find a SAS program to do linear regression by supplying only the SAS data set name and variable names. Snippets In order to write SAS Macro and execute files through the current data set, we make use of the snippets tab. Program Libraries All the datasets in SAS will be stored in SAS libraries. The temporary library is named as WORK and will be available only for a single session . But the permanent libraries are available always. File Shortcuts In order to access files which have been stored outside the SAS environment, this tab is used. The shortcuts to access such files are stored under this tab. SAS-program structure The SAS Programming has the following flow. First, the data sets will be created/read into the memory, and then the analysis will be done on this data. Each and every SAS program should consist of following steps in order to complete reading the input data, and then, it is analyzing, and finally the output. Also the RUN statement is required at the end of each step so as to complete the execution of that step. The program has the following structure: DATA Step This step involves two things. Loading the data set (that is required) into the SAS memory. Identifying the data set variables (also known as columns). The records are also captured by the data step. The following is the syntax for DATA statement. DATA data_set_name; #Name the data set. INPUT var1,var2,var3; #Define the variables in this data set. NEW_VAR; #Create new variables. LABEL; #Assign labels to variables. DATALINES; #Enter the data. RUN; PROC Step This step involves the invocation a SAS built-in procedure to analyze the data. The syntax for PROC statement is as following. PROC procedure_name options; #The name of the proc. RUN; The OUTPUT Step Making use of the conditional output statements, the data from the data sets can be displayed. The syntax for OUTPUT statement is as following. PROC PRINT DATA = data_set; OPTIONS; RUN; SAS-data operators The representation of a arithmetic calculation, grouping parentheses; logical operation; a SAS function and a comparison are the symbols of a SAS operator. It makes use of two major types of operators: prefix operators It should be applied to the variable, constant, function, or parenthetic expression that immediately follows it. Ex: +, -, NOT Infix operators An infix operator will be applied to the operands on each side of it, for example. Ex: arithmetic, comparison, logical, or Boolean, minimum, maximum and concatenation. SAS data set operations For the combination of SAS data sets, the following methods can be used. concatenating interleaving one-to-one reading one-to-one merging match merging updating SAS data representation Data Representation deals with how individual quantities and strings will be stored. There are four ways to accomplish this. type (numeric vs. character) character codes (ASCII, Unicode, ...) numeric precision and rounding SAS date and time conventions SAS basic statistical procedure Let us take a quick glance at "procedure steps" which allow us to call a SAS procedure in order to analyse or process a SAS dataset. The procedures are: proc import proc export Viewing datasets Summarising the contents of data sets Obtaining summary statistics of data sets Obtaining frequency tables Obtaining linear models Plotting data The general syntax for these procedures in SAS is as follows: proc [NAME OF PROCEDURE] data=[NAME OF SAS DATA SET]; [Options for Procedure being used] run; Some of the other options which can be used in a procedure step include: "var" - which tells SAS which are the variables to be processed. "by" - tells SAS to compartmentalize the procedure for each different value of the named variable(s). The data set should first be sorted by those variables. "where" - it will be selecting only those observations for which the expression is true. SAS useful resources We hope you have got a good understanding of what SAS is, and how it can help you progress further in your career. For any further reading, we recommend you the following resources: Blog https://support.sas.com/documentation/ https://support.sas.com/software/index.html Books The Little SAS Book Learning SAS by Example SAS For Dummies Practical and Efficient SAS Programming SAS Essentials: Mastering SAS for Data Analytics Applied Statistics and the SAS Programming Language