Getting started with integration - salesforce

I'm a web developer and I want to integrate a project of mine with salesforce.com. There is a tremendous amount of documentation on the salesforce.com site, but I can't figure out where and how to start.
I want to display part of the existing UI (HTML5) in a sf.com tab.
The functionality of this extra tab will need to access contacts etc. entered in sf.com.
What's the best strategy to do this? Is there a document/blog somewhere to get me started?

To display an external web page within Salesforce, it's possible to set up a "Web Tab" in Salesforce (Setup | App Setup | Create | Tabs). However, if you want to access Salesforce data with-in the web page in the Web Tab, I would recommend creating a Visualforce Page with an iFrame in it, instead. Using that method, you can pass querystring parameters like the Session ID for the current user, or other data.
To access data from the page in the Visualforce page iFrame or web tab, you would need to use one of the APIs Salesforce makes available such as:
Web Services API
REST API
AJAX Toolkit
For more information on this type of integration, see this answer to another question.

Related

Can I set up a web form that will populate an opportunity in my salesforce

I have a site I sent my clients to who want to move forward with our order process and I want the information they submit to automatically fill in the form under the opportunity. I was wondering how this was possible. I know you can set up a web to lead form but I dont see this option for what I want to do.
There is no native Opportunity feature equivalent for Web-to-lead or Web-to-Case. You do have a lot of options though (ordered from simplest to most complex).
Use an app on the AppExchange that provide web-to-x functionality.
Use a pre-built connector for popular CMS apps to integrate with Salesforce.
Create a Visualforce Page hosted on Force.com sites and then embed that on your website
Create an Apex Web Service hosted on Force.com sites that can be posted to by your form
Write code on your web platform to post to the Salesforce API.

Basic login and authenticated check for basic angularjs project using web API

I wish to accomplish two simple things with a basic Angularjs application that has both a public and secure area (home page and admin page respectively) that both use a few web api calls.
Login using email address and password
check if user is logged in (has a session) before he can access the admin section (using $routeProvider resolve)
I've searched for hours for something simple but everything that I come across seems still too complex (e.g. http://www.codeproject.com/Articles/784106/AngularJS-Token-Authentication-using-ASP-NET-Web-A).
Are there any examples on how to handle these two steps with basic .Net code?
I have a small entity class (that inherits DBContext).
I call this in my web API controller and there manipulate my data before I send it back to the angularjs front. There is no need for roles. There is only one login which is added manually in the database, the password is securely stored but the site won't be using https. The data that is to be shown is simply for upcoming venues for a couple hundred guests. After the venue the data is deleted.
I have trouble with this since it's been quite a while since I used web api in this fashion (for authentication and validation).
In the end I decided to go with the authentication I found but I now have an issue with implementing it.
Edit: I found a very good example online. That provides source code and has working register and login. Can't find the url just yet.
EDIT
The site that I found is:bitoftech.net

Is it possible to display business catalyst analytics on your front end?

I'm just wondering if there is a module tag in Business Catalyst which will enable me to display the visitor count and page views automatically on a webpage.
No, there is not a module that will allow you to view that data on the frontend of a site.
You could run a report and then upload that PDF to a page if you are looking to allow certain users access to visitor data without allowing backend access.
The other option would be to find an analytics provider that has an API or some method of allowing you to display this data on the frontend of your site.

Showing Google Analytics Data in real time

I would like to show number of visitors on a site since beginning of the month, number of users on the current day and currently on site.
I have Google Analytics installed, I tried to solve this issue with Embed API by enabling Google Analytics API from developer console - but I requires user authorization, etc.
What would be the easiest way to show analytics on-site without user authentication and accepting access by Embeded API, etc. Application is written in Angular, so Javascript API is the one I look for.
Thank you for any suggestion.
Authorization has to happen in order to get the data you want. Either you can let visitors to your site authorize themselves, or you'll have to authorize server-side on their behalf.
Once authorized, you can do something similar to what the Third Party Visualization Embed API demo shows. It uses a custom ActiveUsers Embed API component and includes the source code to show how it works.
Whether you use the ActiveUsers component or not, the basic gist is that once the users is authenticated via the Embed API, you have access to the method gapi.client.analytics.data.realtime.get, which you can use to query this data.
Here's where that happens in the source code for the ActiveUsers component:
https://github.com/googleanalytics/ga-dev-tools/blob/master/src/javascript/embed-api/components/active-users.js#L69-L87
Authentication with the Analytics service is mandatory. But the OAuth 2.0 Service Accounts (for Server to Server Applications) can be used to automate it in many cases.
It's unclear to me (from a quick scan) if the Auth options of the Embeed API would work with the automated authentication scheme, you may want to go through the details.
You should be able to use the Analytics Core Reporting API and maybe the Analytics Real Time Reporting API (beta) which work with the automated authentication according to their guides (look for the Authorisation sections on the left frames of the respective guides).
Donno if this qualifies as easy, tho, YMMV :)

gwt and dynamic server processing. Do they belong together?

I am eager to build an application with Gwt and App Engine. I'm more familiar with App Engine: creating dynamic html pages with servlets and jsp's. I'm wondering however, if this type of application technology belongs with GWT?
The two examples I can foresee being a problem are login and database retrieval.
For user log-in, my current approach is simple: at the beginning of a servlet, check if the user object exists. If it does, show the page. If it doesn't, redirect to Google's login service. How does this model fit in with GWT? It seems to me that GWT compiles into static html/javascript/css files you place on your server. With this approach, it doesn't seem possible to do any server processing to check for a vlid user before serving the static page (because any user could just bypass the servlet and type the static page url directly).
The other example would be show data from the app engine datastore. If i wanted to create a table which each row being an entry from the data store, I would dynamiclly create the html in a servlet, and do my datastore access there etc, etc. It seems with GWT I would have to serve a container html page, then use ajax to load the database content after the fact?
Maybe GWT isn't right for my type of application, or maybe I'm just thing about web application development the wrong way. Some clarification would be appreciated.
In a over simplified sense, a typical GWT app will work like this:
User navigates to your web page. Their browser uses a static url(s) to download all the javascript, css, and images necessary to run your app.
From now on, every time a user presses a button or otherwise interacts with the page, data is retrieved via an AJAX call. So yes, they might download your app before logging in, but all your security sensitive data would only be returned via an ajax call, giving you the chance to validate their identity however you wish (cookie, user/pass, etc)
This is basically what you describe in your second example about loading data from the datastore. It sounds like you think this is bad for some reason, but you don't say why.

Resources