Monday, October 1, 2012

Salesforce Winter 13 Release Notes

Hi Guys,

Here are Major points of Salesforce Winter 13 release-

1- INTRODUCING  "GEOLOCATION & DISTANCE" CUSTOM FIELDS–BETA 
  • to track distance between two locations based on their geolocations.
2- ORGANIZATION-WIDE PERMISSION SETS 
           (Available in: Enterprise, Unlimited, and Developer Editions)

  • with organization-wide permission sets, you can create a single permission set and assign it to users with different user licenses. 
  • For example, let’s say you’d like to grant the “API Enabled” permission to several users in your organization—some have the Salesforce user license and others have the Salesforce Platform user license. You can now create a single organization-wide permission set with no associated user license and assign it to both types of users.
  • Hint to Create this- Name > Setup > Manage Users > Permission Sets.
3-  INTRODUCING USER SHARING OVERVIEW
         (Available in: Enterprise, Unlimited, and Developer Editions)

  • Winter ’13 introduces Sharing capabilities to the user object, enabling you to restrict or extend access to user records. These new features are collectively referred to as User Sharing, and they can’t be used simultaneously with Chatter or the Communities pilot.
  • Note: User Sharing is available through a pilot program. In Winter ’13, user sharing can’t be disabled after it is turned on. For more information on enabling it for your organization, contact salesforce.com.
  • With User Sharing, you can grant Read/Write or Read Only access to user records. A user record contains a user’s details, including his or her role and profile information. This table explains what it means to have Read access on a user record.
  • - User Sharing includes these new features:
  • • Organization-wide defaults for user records
  • • User sharing rules based on membership to a public group, role, or territory
  • • Manual sharing on individual user records
  • • “View All Users” permission
  • Hint to Do this- Name > Setup > Security Controls > Sharing Settings. 

4- VISUAL WORKFLOW ENHANCEMENTS

      (Available in: Enterprise, Unlimited, and Developer Editions) 

  • Open a flow in the Cloud Flow Designer. Then use the following options to find a Palette item.
  • • On the Palette tab, enter search text.
  • The Palette displays only the items that contain the entered text.
  • • Click to filter the Palette tab contents to one type of element.
  • • To remove the filter, click and select SEARCH ALL.

5- DELETING CUSTOM OBJECTS WITH SCHEMA BUILDER
  • You can now delete custom object with Schema Builder.
  • Schema Builder displays list of side effects when you try to delete a custom object. Be sure you’re ready to accept these side effects before finalizing the deletion. See “Deleting Custom Objects” in the online help and “Managing Deleted Custom Objects” in the online help.


6- DELETING CUSTOM FIELDS WITH SCHEMA BUILDER
  • You can now delete custom fields using Schema Builder.
  • Schema Builder displays a list of side effects when you try to delete a custom field. Be sure you’re ready to accept these side effects before finalizing the deletion. See “Managing Deleted Custom Fields” in the online help.

7- DEVELOPER CONSOLE ENHANCEMENTS
  1. Tests Tool-   The Winter ‘13 release adds a Tests tool to the Developer Console. Use the Tests tool to run Apex unit tests on the server and check your code coverage. Now you can edit, debug, and test your applications without leaving the Developer Console.
  2. Query Editor- The Winter ‘13 release adds a Query Editor tool to the Developer Console. Use the Query Editor tool to query data from your organization. For example, while developing Apex code, write a SOQL query and verify that the results are what you expect. Edit and execute the query until you have the data you want. Then use the query in your code.
  3. Perspectives in a System Log View- When you open a debug log in the Developer Console, it opens in a System Log view which is a collection of panels for analyzing the log. In the Winter ‘13 release, you can create perspectives in a System Log view. A perspective is a layout of panels. Create perspectives to organize and simplify System Log views to match the way you work. Switch between perspectives as you change tasks. For example, you might have one perspective for analyzing performance and another perspective for all-purpose debugging.
  4. Command Line Window- Winter ‘13 adds a Command Line Window to the Developer Console. Use the Command Line Window to execute anonymous Apex code and search the resulting debug log. Usually you work with debug logs in a System Log view. However, at some points during development, you might want to search the log for a specific term. In this case, use the Command Line Window.

8- API ENHANCEMENTS
      (Available in: Enterprise, Unlimited, Developer, and Database.com Editions)



      Winter ‘13 (API version 26.0) improvements:
        Changes across the API layer:
              • New and Changed Objects
              ◊ Chatter API Objects
              • SOQL Enhancements
              • SOSL Enhancements

       Changes to individual APIs:
             • SOAP API Enhancements

             • Metadata API Enhancements


9- APEX CODE ENHANCEMENTS

  • Non-Primitive Types in Map Keys and SetsYou can now add map keys of a non-primitive data type. Map keys can be sObjects, collections, user-defined types, and built-in Apex types. Previously, map keys could only be primitive types. Similarly, sets can now contain elements of any data type. This provides you with more choice for what kind of data you can store in your collections. For non-primitive types in map keys and sets, except for user-defined types, Apex determines the uniqueness of two map keys or set elements based on the field values. For user-defined types, you should provide implementations for the equals and hashCode methods. Apex uses these methods to compare the instances of your classes.
  • Support for Testing Callouts- Apex now provides the ability to test callouts. The native support for handling callouts made in test context and generating artificial responses increases your code coverage by tests and simplifies the testing process. You no longer need to modify auto-generated code of an external SOAP Web service, or add extra logic for callouts made via the HTTP classes. The new Test.setMock method instructs the Apex runtime to handle callouts in test methods and to generate a mock response that you specify.

10- NEW ID.getSObjectType METHOD


  • The new getSObjectType method on the ID type enables you to obtain the sObject token that corresponds to the sObject of the ID. This is particularly helpful when you don’t have access to the sObject itself, for example, in future methods that don’t accept sObject types as their parameters, and therefore you can’t call getSObjectType on the sObject. Also, with this new method, you don’t have to perform a global describe call to obtain an sObject token for a specific sObject name. You can simply call getSObjectType on the ID. In this way, you also avoid reaching the describe governor limits.


11- NEW STRING METHODS  
  • Apex now has a richer library of String methods. Additional methods have been added for String manipulation and utility operations. The new methods enable you to:

                 • Manipulate Strings, and make them longer or shorter:
                 • Change and check the case of String characters:
                 • Search and extract substrings:
                 • Escape and unescape Strings:
                 • Determine what type of characters are in the String:
                 • Other utility methods:
               
12- LOADING TEST DATA FROM STATIC RESOURCES
  • Using the new Test.loadData method, you can populate data in your test methods without having to write many lines of 
  • code. Simply, add the data in a .csv file, create a static resource for this file, and then call Test.loadData within your test 
  • method by passing it the sObject type token and the static resource name. For example, for Account records and a static 
  • resource name of myResource, make the following call:
  • List<sObject> ls = Test.loadData(Account.sObjectType, 'myResource');
  • The Test.loadData method returns a list of sObjects that correspond to each record inserted.

13- SOME OTHER FEATURES ARE-

  • New Type.toString Method
  • String.valueOf and System.debug Use toString for Argument String Conversion
  • SOQL Polymorphism Available in Apex—Developer Preview
  • JSON Support for Additional Built-In Types
  • Code Coverage Percentage Details
  • Creating sObjects with Default Values Using the newSObject Method
  • Starting a Batch Job from Another Batch Job
  • New getVariableValue Method
  • New Network Class and Method
  • New Messaging Method
  • New Access Token Method
  • Support.EmailTemplateSelector Interface
  • Parameterized Interfaces No Longer Supported
  • Visualforce Charting—Generally Available
  • Pass-Through HTML Attributes
  • Enhancements to JavaScript Remoting
  • Support for Internet Explorer Conditional Comments
  • Inline Editing for Dependent Picklists
  • Map Attributes for Custom Components
  • Dynamic References to Lists and Maps with <apex:inputText>
  • Improved Handling of Formula Fields in <apex:outputField>
  • Changes to Escaping Behavior
  • Changes to Expression Evaluation with Null Values

Reference:-
https://na1.salesforce.com/help/doc/en/salesforce_winter13_release_notes.pdf

Happy coding :)

For more information please refer: Salesforce Release