Category Archives: Tools

Using Twitter Bootstrap with Visualforce pages


Building beautiful websites used to take patience and skill. If one were trying to create a visually appealing website from scratch, good knowledge of CSS3 would have been a must. Additionally, skill with jQuery would be another hurdle for completing dynamic aspects. Putting everything in the proper order would have taken days to weeks.

Now, there are fast UI frameworks for front-end development. I will be introducing you to Twitter Bootstrap, specifically how to integrate it with Visualforce Pages.

Some people have compared the Force.com platform (APEX programming language) to Visual Basic. Even a good application needs an attractive UI. Most applications nowadays are web facing. Browsers use CSS + HTML5 + JavaScript to render text, images, layout, and user interaction. Bootstrap is a UI framework with all those elements pre-fabricated. You just need to mark HTML elements with the proper CSS 3 classes and voila, it’s done.

It is extremely easy to use Bootstrap.

  1. Go to http://twitter.github.com/bootstrap/ and download the framework. It is a ZIP file, which already contains CSS, image (glyphicons), and JavaScript. (The required jQuery JavaScript is a separate download.)
  2. Upload as Static Resource to your Force.com org. (Setup > Develop > Static Resources). You can give it a name, for example, bootstrap.
  3. Create your visual page and include the required bootstrap components.
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/jquery-ui.min.js"></script>

<apex:stylesheet value="{!URLFOR($Resource.bootstrap, '/css/bootstrap.css')}"/>

<apex:stylesheet value="{!URLFOR($Resource.bootstrap, '/css/bootstrap.min.css')}"/>

<apex:includeScript value="{!URLFOR($Resource.bootstrap, '/js/bootstrap.js')}"/>

<apex:includeScript value="{!URLFOR($Resource.bootstrap, '/js/bootstrap.min.js')}"/>

That’s all the setup that’s needed.

By default, bootstrap uses a 12-column layout. If you want a div that spans across 4 columns, just indicate it is a “span4”. The convention is {name#columns}. Many useful UI classes are already pre-fabricated, i.e.

  • Navigation bar
  • Buttons
  • Pagination
  • Labels
  • Input boxes
  • Breadcrumbs
  • Progress bar

There is even a photo carousel built into it. See http://twitter.github.com/bootstrap/javascript.html#carousel

Furthermore, this UI framework supports mobile devices and will automatically resize elements accordingly. It’s really easy to use it. In 10 minutes, I created a demo page, showing VF pages + Bootstrap = Like.

The URL is: http://tquila-ray-developer-edition.na11.force.com/

Additionally, there are many bootstrap themes available on the Internet. Go ahead, try it and I am sure you will enjoy creating a polished website.

Image

Tagged , , , ,

Build vs. Buy for Football fans


Only 5 days left until the final match for UEFA 2012.

4 teams remaining, Germany, Spain, Portugal, and Italy. According to the public bets, Germany and Spain (57%) are more than 3 1/2 times more like to face off each other than against Portugal or Italy (~16%).

Image

The pressure is on for both coaches and players! Making good decisions separates between winning or losing.

In software development cycles, one comes across the decision between “Buy” and/or “Build”. Which approach is the right one? Should one just toss an coin in the air? Or, is there a rigorous process guiding through that decision making process?

A few days ago, I had to advise a potential client on whether they should buy a software package or build in-house their integration tools. Before making the recommendation, I researched online. Even through there exist many industry research firms, such as Meta Group, Gartner, Forrester, … Many of them are paid by their sponsoring companies;, hence, heavily tipped toward buying one or a few products. Other sites from Internet told me that they are

  • Balancing act between risk / reward
  • Number of users
  • Proprietary vs. Standard technologies

They are also a little too vague for me. Hence, I decided to make a little flowchart to guide me through that process.

Build vs. Buy Flow Chart

Despite the pressure to make decisions immediately, one really should look at the problem from a more strategic POV. In the Euro 2012 playoff, the Russian Coach had to quit, despite an early 4 to 1 win against the Czech Republic. http://www.rt.com/sport/football/fursenko-resignation-footbal-rfu-putin-euro2012-mutko-706/   And, the Portugal is still around after losing to Germany in their first game.

The purpose of IT projects are to generate values for the implementing organizations. Therefore, project managers should start by examining whether a proposed project makes business sense, i.e. the business value > the implementation + maintenance cost. Business values come in many different forms, reducing operation costs, streamlining business process, enhancing customers interactions, … Costs also have many different factors, development expense, time consumed, training & upkeep, etc.

When a project shows good value proposition, it should move to next steps. In spite many industry analysts preach, a project can easily become a legacy application with wrong selection / implementation process, even with most advanced & state-of-art technologies. A better approach to make decisions is examining the fit from organization’s business process angle. IT technologies evolve at a rapid pace. The costs of maintaining applications, training, integration would sometimes exceed the initial implementation cost. Hence, non-core IT projects, ones that are outside of organization’s core business competencies would be best implemented by partners (consulting firms). They are experts in those area and can make excellent decisions between using COTS (Commercial Off The Shelve software), SAAS (Software As A Service), or building a custom solutions. Furthermore, the cost of developing and maintaining technical expertise would be spread across multiple projects.

On the other hand, when organization have projects that are integral components of their overall business processes and strategies, they should further examine whether they have the necessary internal resources for completing and maintaining those projects. Outside of budget constraints, the project manager could take several different approaches.

  1. Solution approach – I know exactly what I want and have developed a set of criterions (objectives for success / failure)  With this approach, the main focuses are developing the timeline, resource selection, cost estimation (i.e. how much it costs to buy & subscribe something vs. building something), …
  2. Analytic approach – I have a vision of where I want to be, (for example, I want to integrate one or several platforms, i.e. Supply Chain, CRM, Portal). This will be a good time to think through different possibilities, whether it be using one platform, a mix of platforms, build, or all of above. The strategy here will be addressing multiple issues and develop a roadmap for the future.
  3. Not all projects need to come to a Buy/Build decision. Sometimes, it’s better rethinking the Go/No-Go decision. For example, the game between England and Italy was decided by penalty kicks.

To summarize, even though Buy vs. Build are easy choices, there really exist alternatives. That is to examine the Go/No-Go decision, understand the overall business processes and project value propositions, and consult with partners who have subject matter expertise. It is best to well manage one’s core competencies and leverage partner’s knowledge.

OK, there are still a few days to the Euro 2012 Football final. All the teams are busy training & formulating strategies. While the public opinions decidedly favor Germany and Spain, the outcome is still uncertain. So, remember, Jean de La Fontaine’s Quote: “All roads lead to Rome, but …  think we should choose different paths. [Fr., Tous les chemins mènent à Rome; ainsi nos concurrents crurent pouvoir choisir des sentiers différents.]

There are many different ways to making good decisions, as long as they are good. :-)

Tagged , ,

The coolest addition to Salesforce reports since drag and drop: Bucket Fields


So what’s the news then? 

This new functionality allows you to group your report results into categories that you define. It is very similar to the “Group” functionality in Excel Pivot Tables. You can:

  • Set logic criteria for numbers (greater than, less than, equal to)
  • Group picklist values (create subgroups on the fly)
  • Group by text fields

Why would I need that?

Because CxO and VP level users don’t want details. They want summaries.  And Bucket Fields allow you to do this in just a few clicks, eliminating the need to write relatively complex logic formulas.

I see, but when do I use it?

When you have a large dataset that would be easier to understand if it was simplified.  A few examples:

Example 1

A report that groups opportunities in Small, Medium and Large (based in amount being smaller than $50k, between $50k and $100k or larger than $100k) by calendar month, giving you a total value for each group.

Image

Example 2 Continue reading

Tagged , , , , , , ,

Gmail to Salesforce Integration with Cirrus Insight


Q. Does Salesforce integrate with Gmail? (For answer please see end of article)

If you are a Salesforce Administrator for your company and your organisation uses Gmail you should be interested in this.  If you’re a Salesforce consultant then this is something you should know about, customers will ask for this.

Cirrus Insight (Beta)

Cirrus Insight provides Gmail to Salesforce integration by delivering a contextual sidebar beside your email for viewing Salesforce CRM details and for logging emails, tasks, leads and contacts.

How does Insight work?

Cirrus Insight is installed as browser extension available for Firefox and Chrome.  Once installed and viewing an email you will need to authenticate your Salesforce log in with the plug in.  Authentication is straightforward for the user and the communication is secure.  Your log in details are never passed to or stored by Cirrus you only permit the application access to your data.

What can Insight do?

Once setup opening an email from a Salesforce Contact will load that contacts details to the right of the email with a very Salesforce-esque feel letting you know where the information has come from.  If a Contact or Lead cannot be found in Salesforce you can create them directly from the email with a few clicks.

Example of Cirrus Insight

Example Screenshot of Cirrus Insight working within Gmail

The details displayed in the sidebar pulled from Salesforce include related Activities, Opportunities and Cases along with the option to log a new task or event.  All controls provide a surprisingly direct response, no loading between screens and no screen refreshes anywhere.  As well as the sidebar is a small orange button that allows the email to be logged as an activity against the Contact, if opportunities or cases are related to the contact then with just one more click your email is linked to the relevant record.

There are no sync options for sending all your mail to Salesforce but the one or two click method works well and means your personal emails from the husband/wife/partner/significant other don’t end up shared with your entire sales team.

One feature missing is Chatter.  The ability to view and interact with the records Chatter feed would really add value.  As the product is still in beta I will sit tight and cross my fingers and hope this will be coming in version 1.

How much does it cost?

This is where the questions will come.  Cirrus Insight is currently being offered for free, but only while the product is in beta.  Cirrus share on their website that their licencing model will be per user but no hint as to how much we will have to hand over per user.  The good news is that a free version will be offered with limited features this may be good enough for many.

Summary

Cirrus Insight provides a useful yet subtle method for opening your Inbox to Salesforce.  The design fits nicely together your mail, not intruding or slowing anything down.  After using the product lightly for a few days I found myself logging emails habitually and referencing the details pulled from Salesforce routinely.

Q. Does Salesforce integrate with Gmail? A. Yes.

Install Cirrus Insight here…

Salesforce Tools: Running Workbench Securely on OSX


This post is courtesy of Bashir Qaasim, one of our talented consultants.
Salesforce Workbench is a very powerful browser-based PHP app that
allows users to describe, query, manipulate, and migrate both data and metadata in Salesforce.com organizations directly in their web browser with a simple and intuitive user interface.
Basically, it’s Data Loader on steroids! It’s been an amazing help to me in the past month or so, and I think everyone could benefit from it. The application needs to run on a web-server though, so here is how to get it running. The installation may look intimidating, but it is actually quite simple, plus the results are nothing less than priceless:NOTE: I had an idea to get it up and running on cloud based Amazon server, but the developer never intended the tool to scale in this way, so you should run it on your own MacBook.

Download and Install XAMPP Web Server for OS X

Download XAMPP for OS X from the link below, and install the Application as you would any other (it is a simple .dmg file).
http://www.apachefriends.org/en/xampp-macosx.html#849

Download and Install Workbench

Unzip the workbench file you downloaded and place the folder into the following directory:
/Applications/XAMPP/xamppfiles/htdocs/xampp

Test XAMPP and Workbench

Open your Applications Folder and open “XAMPP Control.” There will be three Start buttons, each for Apache, MySQL, and FTP. Start all of them, and you may be prompted for your OS X password.

After they are all started, go to your browser and type in “http://localhost/xampp/.” You should get a page Titled, “XAMPP for Mac OS X.”Now test your workbench installation by browsing to “http://localhost/xampp/workbench/“CONGRATS! But wait, you need to enable SSL before using it safely.

Enable SSL on XAMPP

In order to submit your Salesforce credentials securely through Workbench, you must enable SSL on XAMPP. You do this through the OS X terminal. Open the Terminal Application and type:sudo /Applications/XAMPP/xamppfiles/xampp enablesslPress enter. If you have a password on OS X, you will be asked to type it in. You should get a message stating that it is now enabled. After doing this you will be able to access workbench securely in your browser at:https://localhost/xampp/workbench/You may get a security warning about an untrusted certificate, but just ignore it. The untrusted source is YOU! So no worries.ENJOY!

NOTE: Never ever ever ever submit secure credentials through a simple http connection!

Tagged , , , , ,
Follow

Get every new post delivered to your Inbox.

Join 49 other followers