Uncategorized

Use Heroku to Run Salesforce Canvas Apps /Utilisation d’Heroku pour exécuter les applications de zone de dessin Salesforce

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unité terminée, vous pourrez :

  • Understand the authentication process of Canvas apps. /Comprendre le processus d’authentification d’applications de zone de dessin (Canvas).
  • Understand how to use Heroku to run Salesforce Canvas apps. /Comprendre comment utiliser Heroku pour exécuter des applications Salesforce Canvas.

Salesforce Canvas /Salesforce Canvas

With Salesforce Canvas, you can embed a UI or web app that runs on Heroku into the Salesforce UI. The primary advantage of Canvas is the ability to use a plethora of open-source web technologies to build a web app that easily integrates with Salesforce. The Canvas SDK is used from JavaScript in a web app to access Salesforce data that the user has access to. You can develop Canvas apps on your local machine and use typical developer flows for change management and deployment. /Salesforce Canvas permet d’incorporer à l’interface utilisateur de Salesforce une interface utilisateur ou une application Web qui est exécutée sur Heroku. Le principal avantage de Canvas est la possibilité d’utiliser une multitude de technologies Web de source ouverte pour élaborer une application Web qui s’intègre aisément à Salesforce. Le kit de développement Canvas SDK est utilisé depuis JavaScript dans une application Web pour accéder aux données Salesforce auxquelles l’utilisateur a accès. Vous pouvez développer des applications de zone de dessin sur votre ordinateur local et utiliser des flux de développeur classiques pour la gestion et le déploiement des modifications.

Under the covers, Canvas apps are loaded into Salesforce through an iframe. Of course, you can load any web app into Salesforce’s UI through an iframe, but with Canvas you can use a secure communication protocol via JavaScript to communicate with Salesforce. When you need functionality beyond what the Canvas JavaScript API implements, you can combine the authentication handled by Canvas with the Salesforce REST APIs, potentially using a REST API wrapper like JSforce. /En arrière-plan, les applications de zone de dessin sont chargées dans Salesforce via un iframe. Bien entendu, vous pouvez charger n’importe quelle application Web dans l’interface utilisateur de Salesforce via un iframe, mais Canvas permet d’utiliser un protocole de communication sécurisé via JavaScript pour communiquer avec Salesforce. Lorsque vous avez besoin de fonctionnalités qui dépassent le cadre des implémentations de l’API Canvas JavaScript, vous pouvez combiner l’authentification gérée par Canvas avec les API REST Salesforce, en utilisant par exemple un wrapper API REST tel que JSforce.

Diagram showing that Heroku apps can interact with Salesforce through a Canvas Javascript bridge

Authentication /Authentification

Canvas apps use a connected app in Salesforce and can use either a signed request or the typical OAuth flow to handle authentication. One advantage of a signed request method is that when a Salesforce admin has permitted users to access the Canvas app, no intermediate authorization is required for the app to make requests to Salesforce. After the Canvas app has been loaded, the app can begin accessing Salesforce data that the user has access to. /Les applications de zone de dessin utilisent une application connectée dans Salesforce, et peuvent utiliser une requête signée ou le flux typique OAuth pour gérer l’authentification. Avec une méthode de requête signée, lorsqu’un administrateur Salesforce a autorisé les utilisateurs à accéder à l’application de zone de dessin, aucune autorisation intermédiaire n’est requise pour que l’application transmette des requêtes Salesforce. Une fois chargée, l’application de zone de dessin commence à accéder aux données Salesforce auxquelles l’utilisateur a accès.

When running a Canvas app on Heroku, the app needs the connected app’s consumer secret, which is provided to the app through a Heroku Config Var, available to the app as an environment variable. /Lorsqu’elle est exécutée sur Heroku, l’application de zone de dessin a besoin du secret consommateur de l’application connectée, qui est fourni à l’application via une variable de configuration Heroku, disponible en tant que variable d’environnement.

Basic Canvas App /Application de zone de dessin de base

A basic Canvas app loads the Canvas SDK JavaScript library: /Une application de zone de dessin de base charge la bibliothèque Canvas SDK JavaScript :

<script type="text/javascript" src="https://.salesforce.com/canvas/sdk/js/36.0/canvas-all.js"></script>
<script type="text/javascript">
    // callback to access the OAuth access token and context object
    Sfdc.canvas(function() {
        // Save the token
        Sfdc.canvas.oauth.token(window.signedRequestJson.oauthToken);
        window.alert("hello, " + window.signedRequestJson.context.user.fullName);
    });
</script>

The context data of the app depends on where the app is running within Salesforce. You can load Canvas apps into Chatter feeds, Chatter tabs, layouts, mobile cards, publisher actions, and VisualForce pages. Each can provide a different context to a Canvas app. For instance, if a Canvas app is rendered in an account page’s layout, the context contains the account’s data. JavaScript in the Canvas app can then use that data to render the information.

Les données de contexte de l’application dépendent de l’emplacement dans lequel l’application est exécutée au sein de Salesforce. Vous pouvez charger des applications de zone de dessin dans les fils Chatter, des onglets Chatter, des présentations, des cartes mobiles, des actions d’éditeur et des pages VisualForce. Chacun de ces éléments peut fournir un contexte différent à l’application de zone de dessin. Par exemple, si une application de zone de dessin est restituée dans la présentation d’une page de compte, le contexte inclut les données du compte. Dans l’application de zone de dessin, JavaScript peut ensuite utiliser les données pour restituer les informations.

Resources /Ressources

Leave a Reply

Your email address will not be published. Required fields are marked *