Monday, April 11, 2011

Tuesday, April 5, 2011

Salesforce: controller methods(Action,Getter,Setter)

Visualforce markup can use the following types of controller extension and custom controller methods:

1)Action
2)Getter
3)Setter

Action Methods

Action methods perform logic or navigation when a page event occurs, such as when a user clicks a button, or hovers over an area of the page. Action methods can be called from page markup by using {! } notation in the action parameter of one of the following apex tags:
1)commandButton - creates a button that calls an action
2)commandLink - creates a link that calls an action
3)actionPoller- periodically calls an action
4)actionSupport- makes an event (such as “onclick”, “onmouseover”, and so on) on another, named component, call an action
5)actionFunction- defines a new JavaScript function that calls an action
6)page - calls an action when the page is loaded
For example, in the sample page in Building a Custom Controller, the controller's save method is called by the action parameter of the tag. Other examples of action methods are discussed in Defining Action Methods.

Getter Methods
Getter methods return values from a controller. Every value that is calculated by a controller and displayed in a page must have a corresponding getter method, including any Boolean variables. For example, in the sample page in Building a Custom Controller, the controller includes a getAccount method. This method allows the page markup to reference the account member variable in the controller class with {! } notation. The value parameter of the tag uses this notation to access the account, and dot notation to display the account's name. Getter methods must always be named getVariable.

Setter Methods
Setter methods pass user-specified values from page markup to a controller. Any setter methods in a controller are automatically executed before any action methods.

Setter methods must always be named setVariable.

More Information

Salesforce Order of Execution

Hello All,
Today we are going to understad the Salesforce order of Execution,ie when we done some DML oprstion as insertupdate, or upsert statement, Salesforce performs the following events in order
The browser runs JavaScript validation if the record contains any dependent picklist fields and then Salesforce executes these events on the server. The validation limits each dependent picklist field to its available values. No other validation occurs on the client side.
Here is order of execution in salesforce
  • The original record is loaded from the database.
  • System Validation Rules.
  • Executes all before triggers.
  • Custom Validation rules.
  • Executes duplicate rules.
  • Saves the record to the database, but doesn’t commit yet.
  • Executes all after triggers.
  • Executes assignment rules.
  • Executes auto-response rules.
  • Executes workflow rules.
  • If there are workflow field updates, updates the record again.
  • If the record was updated with workflow field updates, fires before and after triggers one more time. Custom validation rules, duplicate rules, and escalation rules are not run again.
  • Executes processes and flows launched via processes and flow trigger workflow actions.
  • Executes escalation rules.
  • Executes entitlement rules.
  • If the record contains a roll-up summary field or is part of a cross-object workflow, performs calculations and updates the roll-up summary field in the parent record. Parent record goes through save procedure.
  • If the parent record is updated, and a grandparent record contains a roll-up summary field or is part of a cross-object workflow, performs calculations and updates the roll-up summary field in the grandparent record. Grandparent record goes through save procedure.
  • Executes Criteria Based Sharing evaluation.
  • Commits all DML operations to the database.
  • Executes post-commit logic, such as sending email.

We have diffrent order of Exisuxtion as well as ,we can see these details over the below links