June 30, 2013

Salesforce.com - Summer 13



There is so much in Summer 13, and even Salesforce.com released updated release notes after initial one. This is not short summary of original release notes – just it is my take or favorites. It can be quick bite for you than glancing 281 page original release notes :)


  • Partner portal and Customer Portal are no longer available for organizations that aren’t currently using these portals.

  • Salesforce.com encouraging new customers to try Communities instead of Portals

  • Publisher Action and Global Action – took some time to understand what it is, then created two standard actions in Account to create contact and case – it makes me able to create case and contact from account page – chatter section. Everything is okay but still thinking about its real benefit.

  • Chatter Feed Search

  • Opportunity Splits – it’s very interesting feature which supports most of typical sales based incentives related requirements. Some of my customers were asked about it earlier.
  • Customizable Price book – It’s separate object now; it has tabs, custom fields, validation and triggers.  Still I feel it should be opened up for lot more customization. Price book should able to map in Account level, so for that price book should be used by default for that Account. Think about a community where end customer login and creating order or opportunity using this concept.

  • File Attachments to Idea - is very nice one.
  • External Users Can View Reports and Dashboards in Communities
  • Apex auto code completion in Developer console
  • Record Types in Permission sets – reduces maintaining multiple profiles
  • Owner (User) fields can be accessed in cross object formulas – no more workflows/triggers to update the owner detail like email – wonderful.Further I would expect - Formula should have email data type as this using workflow we should able to send email to this formula email field – it will be super-duper one for me!
  • New login page – look and feel is good but it doesn’t display the lengthy user name – annoying to the people who has / use several Salesforce account.
  • Sandbox Templates – now we can select what to copy and what not. Not sure whether we can just select objects or much more options are there in detail for selection.
  • Test methods can be defined in Test class only going forward
  • SOQL - The maximum size for a SOQL query has been increased to 20,000 characters.
  • Field history tracking deletion – previously history older than 18 months will be auto deleted – now it is suspended. So we can access the history data anytime

March 23, 2013

Salesforce.com / Data Migration Strategy


Most of Enterprise Companies have been moving their application to Cloud for various benefits and cut down running cost etc. With this said, Data Migration aspects bring lot more attention as it is very key aspect of application migration. 

Here to discuss some key aspects to consider on data migration projects. 

1) Analyze the Source as DB:  
What is the source DB, and it’s Age and Size?
How it is normalized?
Understand the Data Model and Keep the ERD handy 

2) Analyze Source as Data 
Identify Master and Transactional data
Identify various sources of Master data 
Select Master of master data source
Decide whether or not to have integration between all master data source
Decide to whether or not to have references across master data sources

3) Prepare Destination Platform and Application
Generally application migration from on premise to cloud may not be decided over the night, Over the period of time from Vision, Decision and when it finally become a project – all enhancements in source system might have stopped, along with the migration so many new functionalities and projects get added to the migration project or to the roadmap. 
Choose wisely your destination platform (Salesforce.com) 

4) Prepare Destination DB
Architect the Data Model very carefully to fit your Source data and functionality, New Enhancements / Projects and mainly to your business need.

5) Prepare Destination Data 
Identify / Implement Custom Unique Keys for all Entity.
Make some Setup to prevent Dupes
Establish process, decide any intermediate DB to process data if needed. 
Identify Default ownership for the record if decided owner is not anymore in new platform
Streamline the data for new platform data types. 
Start migrate with Master data
More Importantly keep a log, timeline and check point !!


March 18, 2013

Visualforce Pie (donut) Charting

Visualforce charting of type Pie and it has parameter donut (integer) :)

It helps to create highly controlled way of picturing the dashboard you need and query the data exactly you need to display than standard Salesforce.com Dashboards. It is recommended to use when standard Salesforce.com charting is not fulfilling your need and your page needs more details like some details record information, table and a chart.
It is just a simple quick play with reference of example provided in Force.com blogs.
Number of cases closed this year. Let have very simple example of Pie Chart.
This can be placed in Account page layout and queried only for that account level as well.
To include visual force page in page layout, simply specify Standard Controller = “Account” or that object name.  Then Visual force option will be available in page layout edit section to drag and drop!
I wanted to give some label for each donut slice to know what is what, without mouse hover over but I didn’t find any option for it!!

Page

    
        
        
    

Controller 
public class PieChartController {
public ListgetPieData2(){
return
[SELECT COUNT(CaseNumber) numCaseClosed,
CALENDAR_MONTH(Custom_Closed__c) theMonth
FROM Case
WHERE isClosed = True AND CALENDAR_YEAR(Custom_Closed__c) = 2012
GROUP BY CALENDAR_MONTH(Custom_Closed__c)
ORDER BY CALENDAR_MONTH(Custom_Closed__c)];
}
}