Pages

Friday, June 27, 2014

"Enabler for Excel" for Salesforce (part 1)

Enabler for Excel is a Microsoft Excel add-on enables easy mass updates, inserts, and deletes Salesforce data directly from Microsoft Excel. It has extra functionality of determining which fields are in and out of layouts, as well as a tool for fields utilization calculation. Visualforce from layout page generation. It is listed in AppExchange, so it mean has passed through security check by Salesforce team.

For those of you who used and like Excel Connector, a nice tool for admin to works with Salesforce data easier using Microsoft Excel, but it has been not updated by the developer, the latest version using API 16 and was written with Windows XP and Office 2003. So, Enabler is a good option for those of you looking for Excel Connector replacement.

I found Enabler for Excel is an awesome tool for Salesforce admin, it works with latest Windows OS machine (tested in Windows 7, Windows 8 and Windows 8.1) and latest Microsoft Excel 2010 and 2013.

You can download the add-on from Taralex website, as I am writing this blog, latest version 1.9.0.2, special thanks to Alexander Tarasevich who write this add-on and share it for free (as of now).

You can found the documentation and installation guide from their wiki site. Once you install it successfully, you will find new ribbon called Salesforce in you Microsoft Excel.


1. Web Login 
Type in your Salesforce username and password into Salesforce website, this option do not need security token. Or you can login manually and store the password with security token.

2. Get Data
As Salesforce admin, I like this function very much. Let say you want to extract data from Salesforce and you already have criteria, maybe Account Name or Account Id, etc

How it works?
- Put your criteria data into a columns, let say 20 rows of Account Id
- Click "Get Data" icon

- It will open Get Data window and click "Grab a list..." icon

- Highlight your mouse over the data and it will copy them to "Selected values" window

- Close that window and the value will be available in Get Data window

- If you familiar with SOQL, you can just type the query syntax, example: 
SELECT Id, Name FROM Account WHERE Id IN ('0015000000qiJe9AAE','0015000000QqeisAAB','0015000000psTSSAA2') ORDER BY Name

- Once you get the SOQL ready, click Execute button. Enabler with create new sheet and name it as the object name. But if you already have the name in worksheet, it will create sheet with object name (1) or (2) or continue.


3. Refresh
Let's say you type in your soql query and hit Excute button, if nothing wrong with the query syntax, it will return data from Salesforce into a new worksheet. Save your excel file and done. The next time when you open that Excel file again, if you click Refresh icon, it will update data in that worksheet from Salesforce, cool, isn't it? 


4. Reports
This feature is pretty cool, it access the report directly from Salesforce and present the data in Ms Excel directly. On top of that, when you click the button, the order of report is exactly the same as in Report tab in Salesforce. When you run the report in Ms Excel from Enabler, the report position in Salesforce will move to the top (if your report in Salesforce select as "Recently Viewed")

5. Delete, Insert, Upsert, Update
As normal delete and update process, you need to provide record Id. It will prompt for Map Columns. While when you choose ".... Selected", make sure you select correct data, otherwise it will throw error. 
Once done, it will provide the Operation result and ID at the right of the data in Ms Excel.


To be continue in part 2...


Sunday, June 22, 2014

Chatter Moderator Profile

For Salesforce.com user, most of us should know and use Chatter for collaboration. But, if user do not need to access CRM or Force.com app built in your company, admin can assign user with Chatter Free license. Salesforce give 5000 Chatter Free licenses and 500 Chatter External licenses.

By default, you will see 2 profile for Chatter Free license: Chatter Moderator User and Chatter Free User. Both profiles dedicated only for Chatter users without access to any Salesforce or Force.com objects and cannot be reference as User lookup field. In profile setting Administrative Permissions, both profiles only able to customize Invite Customers To Chatter. If you notice, the different between this two profile is Moderate Chatter permission and Password Never Expires.

Here we will discuss what is Moderate Chatter permission? You can tell if someone is a moderator by the special banner on their profile picture.

A moderator is a Chatter user with some additional privileges, such as:


1. Assign a Chatter Free user as moderator or take the privilege away
Red arrow in screenshot above will give Chatter Free user with Moderator privilege, this will automatically change user profile to Chatter Moderator User.

2. Activate or deactivate Chatter Free user
Yellow arrow in screenshot above will deactivate Chatter user

3. Delete posts and comments that they can see
Above screenshot taken from a Chatter group, where user is not Owner or Manager of the group, but since he has Moderator privilege, user can delete a post or comment.

But, moderator is not system administrator with View All Data permission, moderator not able to see Private Group, so for Private Group, moderator need permission to join / access a private Chatter Group.

Chatter External User
If you enable Customer Invitations from Setup - Customize - Chatter - Settings - Allow Customer Invitations, you will see another profile called Chatter External User.
This profile is designed for external user, so you can invite your customers join your company Chatter and collaborate with internal employee.

You can set Chatter External User as Manager of a group, but you can limit their permission not to invite user from Profile Setting.


Reference:


Thursday, June 19, 2014

Salesforce: Dashboard Snapshot

If you are not aware, in Salesforce we can post a snapshot of a dashboard component to Chatter feed, whether to a User or Chatter Group or to Dashboard feed. A snapshot is a static image of a dashboard component at a specific point of time when the dashboard last refresh.

Posting a dashboard component to a group is a good practice to share and collaborate with team member. While posting to dashboard feed will help us to follow changes of the data in the dashboard.

How to post it? Just hover mouse over a dashboard component, see arrow at top right of the chart component. If you not see it, contact your system admin to enable it. But if you are the admin, see following steps:

1. Enable Feed Tracking for Dashboards
Go to Setup - Customize - Chatter - Feed Tracking
Look for Dashboard object and tick Enable Feed Tracking

2. Enable Post to User or Chatter Group
Go to Setup - Customize - Reports & Dashboards - User Interface
Look for Chatter Options and tick Enable Dashboard Component Snapshots

If you have enable both option above, go back to your dashboard and make sure the page is refresh.

Screenshot below taken when step (2) has not enabled, notice you will see 1 option only.


This screenshot after enable step (2), notice it has option to post snapshot to User or Group feed.


Here is the screenshot post to Dashboard feed and to Chatter Group.







Tuesday, June 17, 2014

How to report Salesforce mobile app usage?

So, you just roll-out Salesforce1 for your internal company usage, congratulations!!! Next step is to monitor your user adoption and present it to the management team.

Bad thing, in the user login report, you cannot identified which login is coming from Salesforce1. Work around, you can download Login History into CSV file and using Ms Excel to filter Application contain Salesforce1. It is pretty complex using Login History and you cannot run it as a report to use it as source for Dashboard and present it your management team.

Instead of using standard User report type, create a new custom report. Here is the step:

Create Custom Report Type
Start with create a new custom report type:
•  From Setup, click Create | Report Types
•  Click New Custom Report Type button
•  Enter the following values.
   •  Primary Object: Users
   •  Report Type Label: a unique label such as Login History with Identity
   •  Report Type Name: this field will be automatically populated based on Label, just skip it.
   •  Description: Give a useful description that other user will understand in the future.
   •  Store in Category: Pick a category for this report; such as Administrative Reports.
   •  Deployment Status: Keep as In Development until ready to deploy this report for other users.
•  Click Next
•  Select Click to relate to another object
•  Select Identity Event Logs (Users)
•  Keep A to B Relationship to default "Each "A" record must have at least one related "B" record"
•  Click Save.

Create Custom Report
•  Click the Reports tab and New Report button
•  In Administrative Reports, select Login History with Identity and click Create.
•  Drag-and-drop fields on to the report. Some useful fields to add into report: Full Name, App: Connected App Name, Timestamp, Status and Usage Type
•  Add filter “App: Connected App Name contains Salesforce1”
•  Give the report a name, such as: Salesforce1 Adoption.
•  Click Save
As this is a normal report, you can adjust the Time Frame.

Here is the screenshot of the report created:


If you see above report, in Usage Type:
•  OAuth Authorization: when the user first logs in
•  OAuth Token Exchange: when user has been idle for some time and the app needs to re-authenticate
In the Status, Error: App access denied tell you if user hit "Deny" in Salesforce1 app



Another example of report below, App: Connected App Name tell you each transaction of login attempt or re-authenticate attempt from Salesforce1 app from iOS or Android devices.


Using the "Power of One", you can easily count how many users login to Salesforce1 app from iOS and Android device, then add a simple chart to the report. In sample below, it show number users for Android = 34 and iOS = 276, with total of 305 users. This mean 29 (34 - 5) users using Android only, 271 (276 - 5) users on iOS only and 5 users are using both Android and iOS devices to access Salesforce1.



If you need to do further analysis, you can download the CSV file and use Pivot Table in Ms Excel.

Anyway, this only work in Enterprise edition and above (included Unlimited and Performance edition), so if you are using Professional edition, this is not applicable and hope Salesforce will implement Salesforce Identity for Professional edition in the future.


Salesforce: Change Picklist Value

Picklist field is very commonly used in Salesforce. User can easily select a value from picklist, while for admin, it give better data quality, because user cannot just anyhow type in picklist.

But one day, we may have requirement to change existing picklist value with a new one, maybe for Classification from Bug to Defect. Depends on the requirement, you may need to leave all existing data with old value or change existing value to new value.

There are 2 options if you need to change existing value:

1. Create and Replace with New Picklist Value
  • Click New button to add New values (some fields such as Opportunity Stage, you need to enter Stage Name, Type, Probability, and Forecast Category).
  • Click Replace button and type the exact value you want to change in 'Exact Value Changing From', and select replacement value created above.
  • For custom field and some standard field, you will see "Replace all blank values" checkbox to update picklist field without value with a value.
  • Once done, you can delete the old picklist value.
Note:
  • This is a global change and will replace the picklist value for all existing records, including records in the Recycle Bin. 
  • This will update the Modified By date and time for all records where the value was replaced.

2. Rename Picklist Value
Go to a picklist value and click Edit link, then type in the new value. But some picklist fields, example: Opportunity Stage, it will not allow editing of the name, so have to use option no. 1 above.

Note:
  • All existing records value will be updated with new values.
  • This will NOT update the Modified By date and time.

For both option above:
  • It will by pass any validation rules and triggers
  • It will not tracked in field history audit

If you need to keep the old values, here you go:
  1. Create new picklist value
  2. Hide the old value (if you have record type, or dependent picklist) or delete the value.

Extra: delete a value in picklist will not change existing values for the record with that value.


Reference:


Friday, June 13, 2014

Singapore's First Salesforce MVP

1st May 2014 marked a new milestone for my journey with Salesforce. I am honored to announce I am now a Salesforce MVP, and the first for Singapore.

I started my journey with salesforce.com as a developer with a consulting firm in September 2004. This means (in the next few months), I’ll be celebrating my 10th year within the salesforce.com community.

As time passes by, I’ve seen my career grow from being a developer to a consultant. Two years ago I joined a US MNC as a Business System Analyst based in Singapore, still within the salesforce.com community.

Why do I like Salesforce? As an admin or developer, I do not need to worry about maintaining servers, databases, backup and patches because everything is in the cloud. I can access Salesforce from anywhere, on any device through the Salesforce1 mobile app.

My passion and enthusiasm for salesforce.com products has increased my willingness to learn, grow and share with the community. Salesforce Answers Community is a place where I spend my free time. This is a place where members can ask questions about Salesforce. I stay active in the community and it helps me to learn more about Salesforce. I can learn more about the requirements, solutions and best practice of other members. If my organisation has similar requirements, I will already know a possible solution. Staying active in this community helps me to prepare to take Salesforce Certifications, right now I hold 3 active Salesforce/Force.com certifications.

Around early 2013, I attended a local Singapore Salesforce User Group, and it was great to meet up with people with the same passion. Since that very first meeting, I have not missed a single user group meeting. In mid-2013, I became a user group co-leader to run and grow the community, and now we have more than 300 members and it keeps growing.

To be selected as an MVP is a dream come true. It’s for anyone with the heart and passion to help each other - by writing blog posts,using social media, being active in the Success Community, andparticipating in local user groups. With my new status as MVP, I hope I can do more for my company and the Salesforce.com community.


Reference: http://sfdc.co/sg-mvp




Page-level ad