Showing posts with label Batch Apex in Salesforce. Show all posts
Showing posts with label Batch Apex in Salesforce. Show all posts

Thursday, 12 April 2018

[#Blogged] First Code back in 2014 - Attachment Upload in Salesforce.

Hey #Ohana,

I am amazed to share the First apex class I wrote back in 10/17/2014.

Apex class used to upload an attachment referencing Parent Id in the Visualforce Page.
Salesforce attachment represents a file that a User has uploaded and attached to a parent standard or custom object record. If the user has created permission on a parent object, then only he/she can able to attach an attachment to the parent object.

You can have a look at the amazing video by Jeff Douglas

When Did you code first time and which functionality was that?

Thursday, 1 March 2018

[#Blogged]Transient Keyword in Salesforce

Declaring variables as transient reduces view state size. A common use case for the transient keyword is a field on a Visualforce page that is needed only for the duration of a page request, but should not be part of the page's view state and would use too many system resources to be recomputed many times during a request.
The transient variables are not passed to view state and therefore not stored in View State.

difference between transient instance variable and a static variable?

Static methods, variables, or initialization code are associated with a class and are only allowed in outer classes.
When you declare a method or variable as static, it's initialized only once when a class is loaded. All static member variables in a class are initialized before any object of the class is created.  Indeed they aren't transmitted as part of the view state for a Visualforce page.
Using static variables will cause only one instance of the variable to be loaded when the application loads and that variable will not go out of memory until the app is closed.  It holds information that is common to all instances on a class and It is shared between them instead of being created a new with each instance.
while
Transient keyword to declare instance variable that can not be saved and should not be transmitted as part of view state for visual force page.
Basically, View State is an encrypted, hidden field on a Visualforce page that keeps track of Apex controller state & Visualforce page state between server requests. This field is only generated when there is a tag present on a page.

ViewState is only used on a single page that handles postbacks. Once you redirect to the new page, the ViewState is lost.


The Whole Process of Calling is like this :

A. URL Requested
B. Apex Controller Instantiated on Server
C. Controller State Serialized & Encrypted to View State
D. Page Markup Sent to Browser & Rendered
E. View State Decrypted & Deserialized (for Postbacks)

View State Automatically keeps track of field values for you and Allows for easy AJAX functionality. In order to remove View State Error, we use 4 methods.

A. Reduce Number of Components
B. Use the transient Keyword
C. Use JavaScript Remoting
D. Use the Streaming API


References: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_keywords_transient.htm

Tuesday, 20 February 2018

[#Blogged]Granular Locking in Salesforce

Granular Locking in Salesforce

The system employs additional logic to allow multiple updates to proceed simultaneously if there is no hierarchical or other relationship between the roles or groups involved.

For example: if you trying to edit the user details but on the other hand automated process is already doing that then you are not allowed to edit.

for this we use granular locking, this will not lock the entire table but only specific data.

What are the key advantages of granular locking?

1) Groups that are in separate hierarchies can be manipulated concurrently

2) Public groups and roles that do not include territories can be manipulated concurrently

3) Users can be added concurrently to territories and public groups

4) User provisioning can occur in parallel

5) A single-long running process, such as a role delete, only blocks a small subset of operations

Benefits to customers:

Customers who frequently experience locking that restricts their ability to manage manual and automated group maintenance operations.
Enable granular locking, which attempts to lock only the modified portions of the table. This can improve the performance of the following items:
1) Adding/deleting/transferring user from a territory
2) Re-parent a territory
3) Create or delete a territory within a hierarchy
4) Adding or removing a forecast manager


Check the below link for more information
https://resources.docs.salesforce.com/sfdc/pdf/draes.pdf

Saturday, 10 February 2018

[#Blogged] Salesforce Non-Profit #Trailhead Badge158

Challenge #1: Accounting in nonprofit settings involves significant complexity.
Challenge #2: Nonprofits must be vigilant stewards of donated monies and carefully monitor what they spend on every initiative and program.
Challenge #3: No two funds or grants are alike, creating extraordinary complexity in nonprofit accounting.
Challenge #4: Nonprofits face stringent requirements for reporting and transparent operations – and those hurdles are multiplying.
Challenge #5: IT budgets and expertise are scarce and financial management software can sometimes seem like a distracting and risky headache.
What if I verbalize Salesforce can solve all the Challenges in a go.

Lets Quick Start on Salesforce Non-Profit with the Help of Trailhead.


A Salesforce edition is a selected set of features and functionalities that also specifies the amount of customization possible, as well as the data and file storage capacity, and the API access available.
With the Power of Us license donation program, Salesforce.org customers receive 10 "CRM Lightning"(which includes both Sales Cloud Lightning and Service Cloud Lightning) Enterprise Edition licenses at no cost. A license is attached to a single user, so with 10 licenses, you could have 10 users logged on to your Salesforce org at one time.

If you need additional licenses or products, you can purchase them at a deep discount from Salesforce.org.
In addition to your 10 Lightning Enterprise Edition (EE) licenses, you may have also chosen an App that will help you manage donations, grants and volunteers. On the Salesforce.org website, you can choose between two trials - the standard Enterprise Edition and the Nonprofit Success Pack (NPSP). The Nonprofit Success Pack App sits on top of your Lightning EE licenses.
Knowing what edition and what app you are using will be vital information for you to know as you review Salesforce documentation, log a tech support ticket, or ask for help from the community.


Sign Up for a free trial 

Astonishing Blog on NonProfit Success Pack from Salesforce.org by
Ines Garcia on Salesforce Ben.

Salesforce for Nonprofits: Start Minute, Dream Astronomically immenseTracy Kronzak

Product Stories by Salesforce

Salesforce Plus NPSP:

“The Salesforce Plus NPSP” house model looks kindred to “the Salesforce,” because the Nonprofit Success  Pack is just a pre-built version of the base Salesforce model, that integrates and transmutes a few things while leaving basic Salesforce functionality intact.
Accounts, contacts, and opportunities are still the major building blocks. However, each NPSP account represents a household. Each household can be associated with multiple donors (contacts) and donations (opportunities). And since nonprofits may need to track more than donors, they can utilize contacts to manage all kinds of people data—members, volunteers, clients, board members. And they can utilize opportunities to manage grants, in-kind gifts, and memberships—not just donations.


Data Management :

Utilizer Interface
Cognate Objects and Records
Security
Mobile Access

Tap Into the Nonprofit Community :

With your Salesforce.org grant, you get a set of no-cost subscriptions to NPSP, along with access to the Power of Us Hub (authenticate with your NPSP tribulation username and password). The Hub is a portal for members of the Salesforce nonprofit community to collaborate. Whether you implement NPSP on your own or with avail from an implementation partner, you can always turn to the Hub with your questions. Folks in the Hub are agog to learn from and avail other users.

References :
https://trailhead.salesforce.com/modules/nonprofit_salesforce_basics/units/nonprofit_salesforce_learn
http://www.excluserv.com/non-profit-starter-pack/

Sunday, 16 July 2017

[#Blogged]Setup Audit Trail

Salesforce.com keeps an Audit Trail of configuration changes made in the Setup section. This Audit Trail is available for administrators to track recent setup changes. This becomes especially helpful if there are multiple administrators for your organization. 
Steps To View Setup Audit Trial: 
 
Navigate to Setup | Administer | Security Controls | View Setup Audit Trail: 


The preceding screenshot shows the last 20 most recent configuration changes for your organization.The Audit Trail is useful for troubleshooting. Because it captures date/time, you can often trace user issues back to a specific change. For example, if users all of a sudden are being asked to reset their passwords, you can trace that back to a change in password settings.


To download your organization’s full Setup history for the past 180 days, click the Download link. This will give you a CSV file that can be opened in Excel and sorted.

Starting with Winter'16 the SetupAuditTrail object (https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_setupaudittrail.htm) has now been exposed via the Salesforce API's and within Apex via SOQL.

Have a look at Andy in the cloud blog about the SetupAuditTrail object.
Audit Trail key concepts:
You can check Audit Trail for the mentioned section/type of changes:
Administration: This will track sundry administration changes such as vicissitudes in the company information, multiple currencies, users, electronic-mail address changes, profile changes, roles, record types, engendering e-mail footers, and domain name changes.Customization: These vicissitudes are cognate to the interface changes, forecasts, contracts, conceptions, field tracking in victuals, support-cognate settings, process setups, and transmutes to groups.Security and sharing: These are cognate to security settings and sharing, such as password policy changes, session setting changes, vicissitudes in SAML settings, and so on.Data management: These vicissitudes are cognate to the mass expunction of records, data export requests, the mass transfer of records and import wizard utilization, and transmutes in analytic snapshots.
Development: This change is cognate to Apex classestriggers, and Visualforce. Changes can include modifications to triggers, classes or Visualforce; remote site access setup; and Force.com site setup.
Sundry setups: These include sundry setup changes such as the engenderment of an API, utilization metering notifications, territories utilization, workflow and approbations settings, and AppExchange package installation/uninstallation, and engenderment and effacement of workflow actions are additionally tracked.
Utilizing the application: These transmutations are cognate to the vicissitudes in the account team and opportunity team selling settings, Google App accommodations, and the enabling and incapacitating of partner and customer portal users.