The beginning of an FAQ on this subject.
Can both custom fields and core objects be used anywhere?
All core objects and custom fields available in the Enterprise WSDL
(whose names end with __c) are read/write accessible.
What are the Ruby server functions?
Currently, in addition to the basic CRUD (Create/Read/Update/Delete)
functions, there are 3 additional functions:
- Fetch all object IDs for a specific object class (list)
- Fetch all object IDs for a related object class (one-to-many)
- Search for instances of a specific object class that match a given query
- Run an arbitrary relationship request (cross-object formulas, incomplete)
It is easy to add more functions based on the above, like batch
updating or deleting a set of objects that match some given criteria.
Does the server support custom fields within custom objects?
The Salesforce API has access to all objects defined in an installation (as
described by the Enterprise WSDL), including core objects, custom
objects, and any core and custom fields defined within them.
What about session management support?
Communication with the Salesforce platform is carried out via SOAP
over HTTP, so the session management features are identical to those
of web browsers and other REST clients.
Describe security concerns and awareness
Additional R& D is required for this item
The security measures currently in place prevent clients
(plug-ins) from interfering with each other's sessions, by creating
isolated handlers for each. However, there are several things that can
and should be done to address the following:
- Preventing unauthorized plug-ins from connecting to the ruby server by adding a username/password for the connection between the plug-in and the ruby server
- Preventing traffic sniffing by adding support for SSL to encrypt all traffic, both between the plug-in and the server and the server and Salesforce (the latter is already in place)
Describe ownership management
Additional R& D is required for this item
As it is in Salesforce. the account used determines ownership and
access privileges. Currently only one Salesforce account is supported
per server installation. This is not on purpose or a limitation, it
just hasn't been dealt with yet. The ideal setup will be configurable
per plug-in instance (through the plug-in preferences dialog). When
implemented, every instance of the plug-in can act as a unique
Salesforce user, or share a single Salesforce account.
Describe the concerns regarding fault tolerance
Additional R& D is required for this item
All errors are properly handled in Ruby when they are reported by
Salesforce. What remains is a way to report these to FMP in a way that
fits with and makes sense for that environment.
What is the syntax of cross object joins?
The syntax is similar to the Salesforce syntax for cross object
formulas. For example, "oppurtunity.contact.account.website" will
return the website URL for the account associated with the contact for
the opportunity.
If new functionality becomes available from SF, what is the turnaround?
Rapid. Once the function become available in the WSDL, they only need
to be wrapped with 3 to 4 lines of code to make them available to the
plug-in. This is one of the biggest advantages to using Ruby.
How long will it take before the plugin is updated if new SF functionality is released?
Additional R& D is required for this item
Undetermined at this time. It is a matter of developer availability.
Does it support multiple network cards?
Yes. The ruby server can be bound to a single interface card, or all
(any) interface cards on a machine. For selective binding, multiple
instance of the server can be launched, each bound to a specific
interface and port.
Does it scale? how far?
Additional R& D is required for this item
The answer is a partial yes, so far. The underlying technology
will scale as much as a web server can (a lot), but there are
currently some limits on the size of data that can be transferred to
and from the plug-in per request. This is not a hard limit, and can be
changed.
This there a white paper available?
Not at this time.
How much data is being pumped?
Additional R& D is required for this item
If it's about the amount of network traffic generated, then it is akin to
that generated by accessing Salesforce via a web browser. It is
actually lower due to the fact that it does not download all the
images, CSS and JavaScript associated with web pages.
Can it 'send messages' ?
Additional R& D is required for this item
We're sure this can be done since it's available in the WSDL, but
the details need investigation. We have not tested this as of 05/25/2010.
ETL stands for Extract, Transform, Load. We designed the plug-in to fill this primary goal, not to become a complete Salesforce "clone" in FileMaker Pro. That is why many of the features above have not been addressed as of 05/25/2010.
What about complex joins?
There will be limits when dealing with very complex data
relationships, just like it is in Salesforce itself. However, the
multi-layered design of the plug-in (C++/Ruby/FMP) allows for a lot of
flexibility and offers various options to solving problems.
How do I find out more information about this technology?
You can send email to sales@beezwax.net and ask to be put on the FMP/Salesforce product mailing list. We will notify you of updates, specials, WebEx demos, training opportunities and all else related to this innovative product.
Thanks,
Ammar ( product architect and lead developer)
Rennie (product support and sales)
Comments