Friday, 27 March 2015

Summer 14 : A Review on Reviews

  • Visualforce Remote Objects Enhancements
  • Canvas Updates
  • Visual workflow Enhancement
  • Developer Console Additions
  • Change Sets & Deployment Tools
  • New Apex Enhancements
  • Configure Push Notifications for Your Salesforce
  • Mobile SDK Connected Apps
  • Visualforce Remote Objects Enhancements
  • Remains in Developer Preview for this release

  1. Remote method overrides
  2. An upsert() operation
  3. The orderby query condition for specifying sort order
  4. Geolocation fields
  5. New query operators for where conditions
★ Remote method overrides:
Extend or replace the built-in behavior of the basic
CRUD operations.Provide new flexibility by enabling
you to add your own custom logic to the basic
operations. With your own Apex code, can extend or
customize the behavior of Remote Objects.
★ An upsert() operation
A shortcut for saving new data by updating an object or
creating an object if it doesn’t exist.
★ The orderby query condition for specifying sort
order:
Can sort on up to three fields.
orderby: [ {Phone: "DESC NULLS LAST"} ,
{FirstName: "ASC"} ]
★ Where Condition Operators
  1. ne: not equals
  2. lte: less than or equals
  3. gte: greater than or equals
Canvas Updates
Canvas - platform for integrating external apps to SF
from their native environment.

  • Canvas Apps in Page Layouts
  • Request a Signed Request on Demand
  • User Approved Signed Canvas Apps
  • SAML -Single Sign-on for Canvas Apps
  • Custom App Life Cycle
In PageLayout
Go to CanvasApp Settings section in CanvasApp created.
Add layout and MobileCards to Location.
Request a Signed Request on Demand
● Useful while refreshing an Expired Session.(Not interrupting the
   User)
● Use Javascript SDK. (use canvas-all.js in your JavaScript code).
● Use refreshSignedRequest() and rePost() method in SDK.
User Approved Signed Canvas Apps
● Canvas App accessed in 2 ways:- SignedRequest and Oauth.
● Previously, App is user-approved if OAuth used for access.
● Now App with SignedRequest can also be user-approved.
SAML -Single Sign-on for Canvas Apps
● SAML (Security Assertion Markup Language)
● Provide App users with seamless auth flow.(whether oauth or
   signed request).
Using Custom App Life Cycle
In the CanvasApp Settings add custom apex class to LifeCycleClasses.
Use CanvasLifecycleHandler interface in apex class to:
● Control request data get sent to your app.
● Alter behaviour of Canvas App based on retrieved data while app
   rendered.
Visual workflow Enhancement
Visual Workflow, built using Force.com's Cloud Flow Designer, lets you visually
string together one or more forms, business rules, and calls to backend APIs to
implement a complete business process without writing code.New features for this
release include:
● Changes to trigger ready flows
● Manipulate Multiple Salesforce Fields and Records at One Time in a Flow
(Generally Available)
● Cross-Object Field References in Flows
● Use an Object-Specific or Global Action in a Flow
● Send Email from a Flow
● Governor Limits Enforced on All Flows
★ Changes to trigger ready flows : -
A trigger-ready flow is a flow that can be launched without user interaction. Also updated the list
of elements and resources that trigger-ready flows can contain.

Manipulate Multiple Salesforce Fields and Records at One Time in a Flow (Generally
Available)
Collect the values for multiple fields for Salesforce records with a single query, and manipulate
that data with a single DML statement by using sObject variables, sObject collection variables,
and loops in a flow.
★ Cross-Object Field References in Flows
When building a flow, you can now reference fields for records that are related to the values that
are stored in an sObject variable. To do so, you must manually enter the references. You can
reference cross-object fields to use their values anywhere you can reference a flow resource or
enter a value.
★ Use an Object-Specific or Global Action in a Flow
As an alternative to Record or Fast elements, flows can now use object-specific and global
actions to create and update Salesforce records. Set the input assignments to transfer data from
the flow to the action.
★ Send Email from a Flow
You now have two options for sending email from a flow: call an existing workflow email alert or
configure the email within the flow.
★ Governor Limits Enforced on All Flows
Previously, flows could potentially consume more resources than are allowed by our governor
limits
Developer Console Additions
● Search and Edit Files with the Edit Menu
  ● Find Files By Name
    ● Speed Up Queries with the Query Plan Tool
      ● View Color-Coded Logging Expiration Data
★ Search and Edit Files with the Edit Menu

  1. Find
  2. Find Next
  3. Find/Replace
  4. Search in Files
  5. Fix Indentation
★ Find Files By Name
In addition to the type-based Open dialog, the new Open Resource dialog allows you to search for a file
by name by entering a simple string, or by using regular expressions (prefix with “re:”). Click File > Open
Resource or press SHIFT+CTRL+O.
★ Speed Up Queries with the Query Plan Tool
Use the Query Plan tool to optimize and speed up queries done over large volumes. To enable the tool,
click Help > Preferences and set Enable Query Plan to true. To use the tool, enter your query and click the
Query Plan button in the Query Editor.
★ View Color-Coded Logging Expiration Data
The Change Log Levels dialog in the Developer Console now includes a color-coded Expiration field that
displays the current logging status.
GREEN(10 or more mins)>YELLOW (Less than 10 mins)>RED(After expired)
Change Sets & Deployment Tools

  • Change Sets in the Deployment Status Page
  • Force.com Migration Tool Support for rollbackOnError
★ Change Sets in the Deployment Status Page
You can monitor the status of all deployments in one place. improved to include more
information about deployments, including errors and test failures

Force.com Migration Tool Support for rollbackOnError
The Force.com Migration Tool now accepts the rollbackOnError parameter in build.xml for
deployment targets and no longer ignores this value.Now can specify whether a complete
rollback of a deployment is performed if a failure occurs by setting this parameter to true or false.
This parameter must be set to true if you’re deploying to a production organization. If the
rollbackOnError parameter is not specified, the default is true.
New Apex Enhancements

  1. Describe Limits Removed
  2. Script Statement Limits Methods Removed
  3. Submit More Batch Jobs with Apex Flex Queue (Pilot)
  4. Monitoring and Reordering the Apex Flex Queue
  5. Submitting Jobs by Calling Database.executeBatch
  6. AsyncApexJob Status Field
  7. Run Future Methods with Higher Limits (Pilot)
★ Describe Limits Removed
You’re no longer limited to describing 100 objects or to executing 100 describe statements.
Schema.DescribeSobjectResult[] results = Schema.describeSObjects(new String[]{'Account','Contact',...});
You’re no longer bound by 100 fields or fieldSets statements in your code to describe fields and field sets
respectively.
Schema.DescribeFieldResult fieldResult = Schema.sObjectType.Account.fields.Name;
Schema.FieldSet fs1 = Schema.SObjectType.Account.fieldSets.fieldset1;
The affected methods are:
getChildRelationshipsDescribes(), getFieldsDescribes(), getFieldSetsDescribes(), getPicklistDescribes(),
getRecordTypesDescribes(), getLimitChildRelationshipsDescribes(), getLimitFieldsDescribes(),
getLimitFieldSetsDescribes(), getLimitPicklistDescribes(),getLimitRecordTypesDescribes()
★ Script Statement Limits Methods Removed
They are available and deprecated in API version 30.0 and earlier. Script statement limit is no longer
enforced.So the associated Limits methods are no longer needed. The affected methods in the Limits class
are:
getScriptStatements() , getLimitScriptStatements()
★ Submit More Batch Jobs with Apex Flex Queue (Pilot)
Can submit more batch jobs simultaneously and actively manage the order of the queued jobs.The Apex
Flex Queue pilot enables you to submit batch jobs beyond the allowed limit of five queued or active jobs.
Any jobs that are submitted for execution but aren’t processed immediately by the system are in holding
status and are placed in Apex flex queue. Up to 100 batch jobs can be in the holding status. When system
resources become available, the system picks up jobs from the Apex flex queue and moves them to the
batch job queue. The status of these moved jobs changes from Holding to Queued.
Without administrator intervention, jobs are processed first-in first-out—in the order in which they’re
submitted. Administrators can modify the order of jobs that are held in the Apex flex queue to control when
they get processed by the system.
★ Monitoring and Reordering the Apex Flex Queue
From Setup, click Jobs > Apex Flex Queue.
Can monitor the moved job in the Apex Jobs page by clicking Apex Jobs.
★ Submitting Jobs by Calling Database.executeBatch
To submit a batch job, call Database.executeBatch. The resulting outcome of Database.executeBatch
depends on whether your organization has reached the five queued or active batch job limit.
● If system resources are available for processing jobs, the batch job is queued for execution and
its status is Queued.
● If no system resources are available, the batch job is placed in the Apex flex queue and its status
is Holding.
● If the Apex flex queue has the maximum number (100) of jobs, this method returns an error and
doesn’t place the job in the queue.
★ AsyncApexJob Status Field
The AsyncApexJob object, which represents a batch job, has a new status field value of Holding. This new
status indicates that the job is placed in the Apex flex queue and is waiting to be picked up when system
resources are available.
★ Run Future Methods with Higher Limits (Pilot)
One of the following limits can be doubled or tripled for each future method : Heap size , CPU timeout ,
Number of SOQL queries ,Number of DML statements issued, Number of records that were processed as
a result of DML operations, Aprroval.process, or Database.emptyRecycleBin
Note: Running future methods with higher limits might slow down the execution of all your future methods.
Running your method with double or triple capacity. Syntax : @future(limits='2x|3xlimitName')
Example : @future(limits='2xHeap')
public static void myFutureMethod() {
}
Tip :Keep in mind that you can specify only one higher limit per future method. Decide which of the
modifiable limits you need the most for your method.
Configure Push Notifications for Your Salesforce
Mobile SDK Connected Apps
With these mobile app settings, developers of Salesforce Mobile SDK connected apps can
configure their users’ mobile devices to receive push notifications from Salesforce.
If you provide a native Mobile SDK app for your organization, you can use the new Mobile Push
Notifications feature to alert your users to important changes and events in your business. The
Mobile Push Notifications feature supports Android and iOS devices and requires additional
configuration:

With the mobile OS provider (Apple or Google)
In your Mobile SDK app
Using the new Messaging.PushNotification and Messaging.PushNotificationPayload
classes OR With the Chatter REST API, using the new push notifications resource
In addition, we’ve provided a push notification test page. In this page, you can quickly test your push notification setup before the feature goes live in your mobile app.

To reach the test page:

In Setup, go to Create > Apps.
Click the name of your connected app.
Click Send test notification next to Supported Push Platform. This link appears only if
you’ve configured your connected app to support mobile push notifications.
Note: Push notifications for connected apps are available only for custom mobile connected apps, such as Mobile SDK apps. This feature does not apply to Salesforce1 or SalesforceAapps.




* This is a content from many blogs available as specified in the links. 

No comments:

Post a Comment