Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    cylon-forcepublic

    Cylon.js For Force.com

    Cylon.js (http://cylonjs.com) is a JavaScript framework for robotics and physical computing using Node.js

    This module provides an adaptor and driver for Force.com (http://force.com/). It uses the official JSforce module (https://github.com/jsforce/jsforce).

    Build Status Code Climate Test Coverage

    How to Install

    $ npm install cylon cylon-force
    

    How to Use

    var Cylon = require('cylon');
     
    Cylon.robot({
      connections: {
        sfcon: {
          adaptor: 'force',
          sfuser: process.env.SF_USERNAME,
          sfpass: process.env.SF_SECURITY_TOKEN
        }
      },
     
      devices: {
        salesforce: { driver: 'force' }
      },
     
      work: function(me) {
        me.salesforce.subscribe('SpheroMsgOutbound', function(data) {
          console.log(data);
        });
     
        var i = 0 ;
        every((2).seconds(), function() {
          var toSend = {spheroName: 'globo', bucks: i++}
          me.salesforce.push('/SpheroController/', toSend);
        });
      }
    });
     
    Cylon.start();

    To run the above example:

    SF_USERNAME='yourusername' SF_SECURITY_TOKEN='yourpasswordandtoken' node examples/salesforce.js
    

    How to Connect

    To setup Salesforce connection, authentication, app/object creation and streaming follo the instructions in: https://github.com/hybridgroup/cylon-force/blob/master/salesforce-setup.md

    Connecting to Salesforce using cylon-force

    If you are using a Salesforce developer account(or personal account), you only need to provide sfuser (username) and sfpass (password + security_token to connect to the API as explain in Salesforce site) in the robot connection, as shown here:

      connections: {
        sfcon: {
          adaptor: 'force',
          sfuser: process.env.SF_USERNAME,
          sfpass: process.env.SF_SECURITY_TOKEN
        }
      },

    However if you are part of an organization, and having trouble querying/updating objects and streaming events, you probably need to provide the organization credentials for authorization, this are the orgCreds/oauth2 credentials, you can either pass orgCreds or oauth2 parameter to the connection, as shown below and explain in the JSForce Docs:

    var cylon = require('cylon');
     
    cylon.robot({
      connections: {
        sfcon: {
          adaptor: 'force',
          sfuser: process.env.SF_USERNAME,
          sfpass: process.env.SF_SECURITY_TOKEN,
          // orgCreds and oauth2 are interchangeable here, you can use either.
          orgCreds: {
            clientId: 'CLIENT_ID',
            clientSecret: 'CLIENT_SECRET',
            redirectUri: 'http://localhost:3000/oauth/_callback'
          }
        }
      },
     
      devices: {
        salesforce: { driver: 'force' }
      },
     
      work: function(me) {
        me.salesforce.subscribe('SpheroMsgOutbound', function(err, data) {
          console.log('arguments: ', arguments);
          cylon.Logger.info('err received:', err);
          cylon.Logger.info('data received:', data);
        });
     
        var counter = 0;
     
        every((2).seconds(), function() {
          var toSend = { spheroName: 'globo' + counter, bucks: counter };
     
          me.salesforce.push('/SpheroController/', toSend, function(err, data) {
            cylon.Logger.info('Sphero globo' + counter + ' has been sent to Salesforce.');
          });
     
          counter++;
        });
      }
    });
     
    cylon.start();

    If you provide all credentials and still have problems to create/query/update objects and stream info from salesforce please create an issue here: cylon-force issues.

    Documentation

    We're busy adding documentation to our web site at http://cylonjs.com/ please check there as we continue to work on Cylon.js

    Thank you!

    Contributing

    For our contribution guidelines, please go to https://github.com/hybridgroup/cylon/blob/master/CONTRIBUTING.md .

    Release History

    For the release history, please go to https://github.com/hybridgroup/cylon-force/blob/master/RELEASES.md .

    License

    Copyright (c) 2013-2015 The Hybrid Group. Licensed under the Apache 2.0 license.

    install

    npm i cylon-force

    Downloadsweekly downloads

    24

    version

    0.18.0

    license

    Apache-2.0

    homepage

    cylonjs.com

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar
    • avatar