Saturday, May 9, 2015

Quick Overview of Summer '15 Features



The Summer ‘15 features have been published and available to play. It has come with lots of new and exciting features in all areas of the platform.


General Enhancements

Supported Browsers

Support for Microsoft® Internet Explorer® versions 7 and 8 is discontinued as of Summer ’15. Salesforce Customer Support will not investigate issues related to Internet Explorer 7 and 8 after this date. Read more....


Data Loader for Mac Users

With Summer '15 release Data Loader, is now available for Mac OS X as well. Previously Mac users were using LexiLoader to import, export, update, and delete Salesforce data. Salesforce recommends that you uninstall LexiLoader before installing the Data Loader. The Data Loader command-line interface is still supported for Windows ONLY. Read more...



Salesforce Analytics Cloud

Salesforce Analytics Cloud for Apple Watch

With Summer '15 release Salesforce Analytics Cloud is now available for "Apple Watch" as well. You can now import new data files, create and edit dashboards, and check data from anywhere. Read more....



Add Dashboards to Page Layouts (Generally Available)

Analytics Cloud dashboards can now be added to detail page layouts  (like Accounts, Cases, and Opportunities) or external websites directly from tables and charts in an Analytics Cloud dashboard. Read more...






Other enhancements for Analytics Cloud are:
  • Wave REST API (Pilot) - You can now access Analytics Cloud datasets and lenses programmatically using the Wave REST API.
  • Enhance Your SAQL Queries With Open-Ended Dates Support (Pilot)

Salesforce1

Separate set of Actions for the Salesforce1 Mobile app

For all of the Salesforce1 apps, you can customize the selection and order of quick actions, productivity actions, and standard and custom buttons, in the action bar and for list item actions, on an object-by-object basis.

  • Quick Actions in the Publisher (Actions in this section appear in the Chatter publisher in the full Salesforce site).
  • Actions in the Salesforce1 Action Bar (The Salesforce1 Actions category contains all available types of actions for the object, including quick actions, productivity actions, and standard and custom buttons. Actions in this section appear in the action bar and action menu in Salesforce1). Read more....



Custom App Pages with the Lightning App Builder

You can now build custom pages using Lightning App Builder. Read more...



New attribute "showQuickActionVfHeader" in <apex:page> tag

If you are using custom Visualforce actions in Salesforce and you want to avoid the confusion among your own buttons and Action buttons. To Hide the Action Header for Visualforce Custom Actions you need to specify "showQuickActionVfHeader" as false in <apex:page> tag. When the Visualforce custom action renders in Salesforce1, the header and the Cancel and Save buttons will be hidden. Read more....

Create Tasks from Notes 

With Summer ’15 using Notes, the new note-taking tool in the Salesforce1 mobile app. You can quickly turn list items into tasks, with a simple swipe. This is a Beta feature. Read more...



Convert Leads to Contacts 

With Summer '15 you can now convert qualified leads to contacts, as well as create accounts and opportunities. This option is now Generally Available in all versions of Salesforce1. Read more...

Chatter Mobile for Android

After completion of the Summer ’15 release, Chatter Mobile for Android, version 3.4 will be removed from Google Play and will no longer be supported by Salesforce. With that Salesforce encourages to switch to the Salesforce1 downloadable app for Android as soon as possible. Read more...

Mobile Dashboards for iPad App 

With the Summer ’15 release, the Mobile Dashboards for iPad app will be removed from the App Store and will no longer be supported by Salesforce. Salesforce encourage customers who currently use the Mobile Dashboards for iPad app to switch to the Salesforce1 mobile app. Read more...


Sales Cloud

Rich Text Meeting Notes in Salesforce1

With Summer '15 as a Beta feature you can now take advantage of note-taking tool that lets your mobile users take better notes and faster.
Notes is available in the Salesforce1 mobile browser app (except on BlackBerry devices), the Salesforce1 downloadable app for Android devices, version 6.0 and later, and the Salesforce1 downloadable app for iOS devices, version 6.0.2 and later. Read more...




Lead Assignment Checkbox

Now you can assign Leads more intuitively. With Summer '15 now you can run Lead assignment rules without including "Assign using active assignment rule" checkbox on the page layout. You have "Default" and "Show on edit page" options in Lead Layout properties.Now these options are independent to each other.
If you select both options, the assignment checkbox is displayed and is checked by default. The Default setting forces the assignment rule to run, unless you also display the checkbox and a user manually deselects the checkbox. Read more...


Service Cloud

Edit Posts and Comments in Case Feed

With Summer '15 Users can now Edit posts and comments in Case Feed. It will provide Agents flexibility to fix typos and add information. Read more...

Add Report Charts to Console Sidebars

With Summer '15, you can now add any existing report charts to a console component. It will allow users to see relevant charts next to records without clicking a thing. Read more...



Email-To-Case

  • With Summer '15 following enhancements have been made for Email-to-Case:
  • Now Email Feed Items in the Compact Feed layout will display HTML Formatting and Inline Images.
  • You can now append / insert the user signature so it appears after the support agent’s reply, but before the email thread.
  • Email-to-Case Settings for Thread IDs have been Renamed
    • "Email Subject" setting have been renamed to "Insert Thread ID in the Email Subject"
    • "Email Body" setting have been renamed to "Insert Thread ID in the Email Body"

Force.com Development

Choose Which Tests to Run in a Deployment

Test levels enable you to have more control over which tests are run in a deployment. To shorten deployment time to production, run a subset of tests when deploying Apex components. The default test execution behavior in production has also changed. By default, if no test level is specified, no tests are executed, unless your deployment package contains Apex classes or triggers.

When running a subset of tests, code coverage is computed for each class and trigger individually and is different than the overall coverage percentage. If your deployment package contains Apex classes and triggers, the executed tests much cover each class and trigger for a minimum of 75% code coverage.

If the code coverage of an Apex component in the deployment is less than 75%, the deployment fails. If one of the specified tests fails, the deployment also fails. We recommend that you test your deployment in sandbox first to ensure that the specified tests cover each component sufficiently. Even if your organization’s overall code coverage is 75% or more, the individual coverage of the Apex components being deployed can be less. If the code coverage requirement isn’t met, write more tests and include them in the deployment. Read more...


Default Test Execution in Production

In API version 33.0 and earlier, tests were run for components that required tests, such as custom objects, and not only for Apex components. For example, if your package contains a custom object, all tests are run in API version 33.0 and earlier. In contrast, starting with API version 34.0, no tests are run for this package. The API version corresponds to the version of your API client or the version of the tool you’re using (Force.com Migration Tool).

When deploying to production, all tests, except those that originate from managed packages, are executed if your deployment package contains Apex classes or triggers. If your package doesn’t contain Apex components, no tests are run by default. Read more...


Run Local Tests in a Sandbox Deployment

You can now choose which tests to run in sandbox deployments to match the test run behaviour in production. Previously, if you enabled tests in your sandbox deployment, you couldn’t exclude managed package tests. Read more...

Match Production Licenses to Sandbox without a Refresh

With Summer '15, you can now match provisioned licenses in production to your sandbox organization without having to refresh your sandbox.

Matching updates sandbox license counts to match the counts in production, adds licenses that are in production but not in sandbox, and deletes licenses that aren’t in production.

Note: 
Matching production licenses requires that your sandbox and production organizations are on the same Salesforce release. For example: If your sandbox has been upgraded to the next release during sandbox preview but your production organization hasn't, you can't match production licenses. Read more...


Force.com Customization

Login Access Policy Changed

With Summer '15 Administrators with “Modify All Data” permission and Delegated Administrators with “View Setup and Configuration” permission can log in as any user without asking end users to grant access. Previously, this option was available only if Salesforce enabled the Administrators Can Log in as Any User setting for your organization. To disable this feature, contact Salesforce. Read more...


Number of Custom Profiles Increased

With Summer '15 you can have up to 1,500 custom profiles per user license type. Read more...



Unsupported Markup in HTML Area Home Page Components
With Summer '15 Salesforce is now enforcing the ban on unsupported code in HTML Area home page components. JavaScript, CSS, iframes, and other unsupported markup is now removed when user edit and save a HTML Area home page component. A cleaned version will be saved, and all unsupported content will be lost. Read more...


BigObjects (Pilot)

With Summer '15 Salesforce.com has introduced a new feature "BigObjects". It is a new capability to let you store and manage data at scale on the Salesforce platform. This feature helps you engage directly with customers by preserving all your historical customer event data. It’s easy to integrate BigObjects with your live Salesforce data.

You can process BigObjects with SOQL, Bulk, REST and SOAP APIs, and Data Pipelines, a powerful tool for batch-processing massive volumes of data.

The BigObjects feature initially targets the following use cases:
  • Customer 360—Store point-of-sale data, orders and line items, guest relationship data, and guest interactions in Big Objects and then process and correlate that data with your core CRM data.
  • Data archive—Orchestrate records from production storage to an archival data store , such as for FINRA compliance, without moving the data out of Salesforce’s trusted platforms.
  • Data lake—Store massive data in its native format until you need it.
  • Email event ingest—Preserve email for customer interaction history, segmentation, and sentiment analysis.


Lightning Connect OData 2.0 (External Data Sources / External Objects)

With Summer '15 Salesforce have expanded options for seamlessly interacting with data that’s stored outside your Salesforce organization. Following options have been added in Lightning Connect space:

  • Access Data Across Multiple Organizations with the Lightning Connect Salesforce
  • Connector
  • Access Any Data Anywhere with the Lightning Connector Apex Framework
  • Access Government and Health Data with the OData 2.0 Adapter for Lightning Connect (Socrata Open Data Portal)
  • Enable Server-Driven Paging for an External Data Source
  • Control Whether to Request Total Row Counts in OData Queries
  • Customize Search Layouts with the Name Field for External Objects
  • View Names of Parent Records in Lookup Relationship Fields on External Objects
  • Removed Select All Checkbox for Syncing an External Data Source
Limits Increased
  • Maximum HTTP request size for OData (from 4 MB to 8 MB)
  • Maximum HTTP response size for OData (from 4 MB to 8 MB)
  • Maximum OData result set size (from 8 MB to 16 MB)


Display Currency Symbols in Multi-Currency Organizations with Only One Currency

With Summer '15 you can choose whether to use ISO codes or currency symbols in organisations that have multiple currencies enabled but are using only one currency. Organizations with multiple currencies enabled see ISO codes instead of currency symbols. However, if you have only one currency in your multi-currency organization, you can set a preference to display currency symbols.

Search Setup for "User Interface", and then select "Show currency symbols instead of ISO codes" in the Currency Display Settings section of the User Interface settings page. If you later enable more currencies in your organization, ISO codes display and this preference is no longer available. This preference applies only in the standard Salesforce user interface.


Force.com Development

View Query Plan Notes in Developer Console

You can now view notes on your query plans in the Developer Console’s Query Editor. Salesforce displays all notes that are available for your highest-ranked query plan. Read more...





Retrieve Query Plans for Reports and List Views

You can now view query plans for your reports and list views in the Developer Console’s Query Editor. Read more...









Add Location Information to Visualforce Maps with Info Windows

You can add information related to a location to Visualforce maps with info windows using <apex:mapInfoWindow> component as a child component of the associated <apex:mapMarker>. Read more...








Reduced Access for Apex Classes Using with sharing Keyword

With Summer '15 Apex classes defined with the "with sharing" keyword no longer will have unfiltered access to the User object if it’s set to private by the organization’s sharing rules.
Reorder Your Batch Jobs in the Flex Queue Programmatically
New Apex methods enable you to automate the prioritization of jobs in the flex queue. Previously, administrators could reorder jobs in the flex queue only from the user interface. Read more...

For example,
Boolean isSuccess = System.moveFlexQueueJob(jobId, positionNumber);



New Code Coverage Calculation for Multiline Statements


With Summer '15, code coverage has changed for statements that are written on multiple lines. Each line that contains an expression is now included in the code coverage calculation for covered and uncovered code. Previously, a multiline statement was calculated as one line of code in code coverage. Read more...

With the new Calculation the code coverage is 5/6 or 83%.



With the previous Calculation the code coverage was 2/3 or 66%.




Iteration Order for Maps and Sets Is Now Predictable

The order of elements in unordered collections (Map and Set) is now the same each time your code is run. Previously, the order of elements in unordered collections was arbitrary, and you couldn’t rely on the order of elements in maps and sets. Read more...

Map<String, String> currencyMap = new Map<String, String>();
currencyMap.put('France','Euro');
currencyMap.put('Japan', 'Yen');

// Iterate through the map elements
for (String mapKey : currencyMap.keySet()) {
    System.debug('Key: ' + mapKey +
        ', Value: ' + currencyMap.get(mapKey));
}

// The output is:
Key: France, Value: Euro
Key: Japan, Value: Yen


Custom Metadata Types are Generally Available

With Summer '15 Custom Metadata Types are Generally Available that means now you can Build your own Platform on Force.com platform. Use custom metadata types to define configurations and create reusable app components and features that you can package and deploy. You and others can then create custom metadata that uses the characteristics of the custom type.

Platform developers commonly use custom settings or custom objects to define configurations and create reusable app components and features. But because these entities’ records are data and not metadata, you can’t package, deploy, upgrade, and customize these types in a manageable way. With custom metadata types, you can build apps defined and driven by your own types of metadata.

The essential tasks for custom metadata types are:
  • Create custom metadata types and records.
  • Create a user interface to accommodate the process of creating, editing, and deleting custom metadata records.
  • Package custom metadata types and records in unmanaged packages, managed packages, or managed package extensions.
  • Deploy packages that contain custom metadata types and records to Professional, Developer, Enterprise, Performance, Unlimited, and Database.com Edition organizations.
  • Use change sets to deploy custom metadata types and records from a sandbox.
  • Use all field types that are available in custom settings, except for currency fields, in custom metadata types.
  • Use SOQL queries to retrieve data from custom metadata types and their records. Unlike other Apex transactions, you can make unlimited SOQL queries for custom metadata types and records.

Useful Resources

The following links provide important information that will help you prepare for the rollout and take advantage of the exciting new features:
Release Notes
Release Schedule
Release Key Dates
Sandbox Previous Instructions
Sandbox Pre-Release Signup