[teiid-commits] teiid SVN: r1075 - in trunk/documentation/salesforce-connector-guide: src and 5 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed Jun 24 12:07:46 EDT 2009


Author: jdoyle
Date: 2009-06-24 12:07:46 -0400 (Wed, 24 Jun 2009)
New Revision: 1075

Added:
   trunk/documentation/salesforce-connector-guide/pom.xml
   trunk/documentation/salesforce-connector-guide/src/
   trunk/documentation/salesforce-connector-guide/src/main/
   trunk/documentation/salesforce-connector-guide/src/main/docbook/
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/appendix.xml
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/importing.xml
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/credentials.png
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/import.png
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/logo.png
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/objects.png
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/options.png
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/legal_notice.xml
   trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/salesforce_connector_guide.xml
Log:
Initial import

Added: trunk/documentation/salesforce-connector-guide/pom.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/pom.xml	                        (rev 0)
+++ trunk/documentation/salesforce-connector-guide/pom.xml	2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,70 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <groupId>org.jboss.teiid.documentation</groupId>
+    <artifactId>documentation</artifactId>
+    <version>6.2.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>salesforce-connector-guide</artifactId>
+  <packaging>jdocbook</packaging>
+  <name>Salesforce Connector Guide</name>
+  <description>The Salesforce Connector Guide</description>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.jboss.maven.plugins</groupId>
+        <artifactId>maven-jdocbook-plugin</artifactId>
+        <version>2.1.2</version>
+        <extensions>true</extensions>
+        <dependencies>
+          <dependency>
+            <groupId>org.jboss</groupId>
+            <artifactId>jbossorg-docbook-xslt</artifactId>
+            <version>1.1.0</version>
+          </dependency>
+          <dependency>
+            <groupId>org.jboss</groupId>
+            <artifactId>jbossorg-jdocbook-style</artifactId>
+            <version>1.1.0</version>
+            <type>jdocbook-style</type>
+          </dependency>
+        </dependencies>
+        <configuration>
+          <sourceDocumentName>salesforce_connector_guide.xml</sourceDocumentName>
+          <imageResource>
+            <directory>${basedir}/src/main/docbook/en-US</directory>
+            <excludes>
+              <exclude>*.xml</exclude>
+              <exclude>**/*.xml</exclude>
+              <exclude>*.zargo</exclude>
+              <exclude>**/*.zargo</exclude>
+            </excludes>
+          </imageResource>
+          <formats>
+            <format>
+              <formatName>pdf</formatName>
+              <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+              <finalName>salesforce_connector_guide.pdf</finalName>
+            </format>
+            <!-- <format>
+              <formatName>html_single</formatName>
+              <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
+              <finalName>index.html</finalName>
+            </format> -->
+            <format>
+              <formatName>html</formatName>
+              <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+              <finalName>index.html</finalName>
+            </format>
+          </formats>
+          <options>
+            <xincludeSupported>true</xincludeSupported>
+            <localeSeparator>-</localeSeparator>
+            <useRelativeImageUris>false</useRelativeImageUris>
+          </options>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/appendix.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/appendix.xml	                        (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/appendix.xml	2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="appendix">
+	<title>Appendix</title>
+		<sect1>
+		<title>Supported Capabilities</title>
+		<para>The following are the the connector capabilities supported by
+			the Salesforce Connector. These SQL constructs will be pushed down to
+			Salesforce.</para>
+		<itemizedlist mark='opencircle'>
+		<listitem><para>
+				SELECT command
+			</para></listitem>
+		<listitem><para>
+				INSERT Command
+			</para></listitem>
+		<listitem><para>
+				UPDATE Command
+			</para></listitem>
+		<listitem><para>
+				DELETE Command
+			</para></listitem>
+		<listitem><para>
+				CompareCriteriaEquals
+			</para></listitem>
+		<listitem><para>
+				InCriteria
+			</para></listitem>
+		<listitem><para>
+				LikeCriteria - Supported for String fields only.
+			</para></listitem>
+		<listitem><para>
+				RowLimit
+			</para></listitem>
+		<listitem><para>
+				AggregatesCountStar
+			</para></listitem>
+		<listitem><para>
+				NotCriteria
+			</para></listitem>
+		<listitem><para>
+				OrCriteria
+			</para></listitem>
+		<listitem><para>
+				CompareCriteriaOrdered
+			</para></listitem>
+		</itemizedlist>
+	</sect1>
+
+</chapter>
\ No newline at end of file

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml	                        (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/connector.xml	2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="connector">
+    <title>Using the Connector</title>
+    <para>The Salesforce Connector supports the SELECT, DELETE, INSERT
+		and UPDATE operations.
+    </para>
+    <sect1>
+        <title>Binding the Salesforce Connector</title>
+        <para>Once you have created the model of the Salesforce instance
+			and added that model to a VDB, you must bind the VDB to an instance
+			of a Salesforce Connector. On the Execute tab of the VDB click the
+			Edit button in the Connector Bindings panel. The Connector Binding
+			Wizard is displayed.
+        </para>
+		<!-- screenshot -->
+        <para>The Salesforce Importer generates a connector binding with
+			the correct credentials and URL when generating a new model. You
+			select that binding by clicking the Loaded Bindings tab and selecting
+			the binding with the name that corresponds to the model you are
+			binding.
+        </para>
+        <para>A binding can also be created manually. Select Salesforce
+			Connector from the Connector Types dropdown and enter a username and
+			password into the appropriate binding properties.
+        </para>
+        <para>
+			If you are connecting to a Sandbox instance of a Salesforce
+			application rather than a live instance, you can check the Show
+			Advance Properties checkbox, and change the Salesforce URL binding
+			property that is revealed to contain the URL to your sandbox
+			instance. For more information see the
+            <ulink
+				url="http://www.salesforce.com/platform/application-development/development-and-test-enviorment/">Salesforce Sandbox
+            </ulink>
+			information.
+        </para>
+        <para>You can now execute the VDB
+			and begin to query your Salesforce
+			instance.
+        </para>
+    </sect1>
+    <sect1>
+        <title>SQL Processing</title>
+        <para>Salesforce does not provide the same set of
+			functionality as a relational database. For example, Salesforce does
+			not support arbitrary joins between tables. However, working in
+			combination with the Teiid Query Planner, the Salesforce
+			connector
+			supports nearly all of the SQL syntax supported by the
+			Teiid.
+        </para>
+        <para>The Salesforce Connector executes SQL commands by “pushing
+			down” the command to Salesforce whenever possible, based on the
+			supported capabilities. Teiid will automatically provide
+			additional database functionality when the Salesforce Connector does
+			not	explicitly provide support for a given SQL construct. In these
+			cases, the SQL construct cannot be “pushed down” to the data source,
+			so it will be evaluated in Teiid, in order to ensure that the
+			operation is performed.
+        </para>
+        <para>In cases where certain SQL capabilities cannot be pushed down
+			to Salesforce, Teiid will push down the capabilities that are
+			supported, and fetch a set of data from Salesforce. Then, Teiid
+			will
+			evaluate the additional capabilities, creating a subset of the
+			original data set. Finally, Teiid will pass the result to the
+			client.
+        </para>
+
+        <programlisting><![CDATA[
+			SELECT sum(Reports) FROM Supervisor where Division = 'customer support';           
+         ]]>        
+        </programlisting>
+        <para>Neither Salesforce nor the Salesforce Connector support
+			the sum() scalar function, but they do support CompareCriteriaEquals,
+			so the query that is passed to Salesforce by the connector will be
+			transformed to this query.
+        </para>
+        <programlisting><![CDATA[
+			SELECT Reports FROM Supervisor where Division = 'customer support';           
+         ]]>        
+        </programlisting>
+        <para>The sum() scalar function will be applied by the Teiid
+			Query
+			Engine to the result set returned by the connector.
+        </para>
+        <para>In some cases multiple calls to the Salesforce application
+			will be made to support the SQL passed to the connector.
+        </para>
+        <programlisting><![CDATA[
+			DELETE From Case WHERE Status = 'Closed';           
+         ]]>        
+        </programlisting>
+        <para>The API in Salesforce to delete objects only supports
+			deleting by ID. In order to accomplish this the Salesforce connector
+			will first execute a query to get the IDs of the correct objects, and
+			then delete those objects. So the above DELETE command will result in
+			the following two commands.
+        </para>
+        <programlisting><![CDATA[
+			SELECT ID From Case WHERE Status = 'Closed';
+			DELETE From Case where ID IN (<result of query>);*           
+         ]]>    
+        </programlisting>
+        <para>*The Salesforce API DELETE call is not expressed in SQL, but
+			the above is an SQL equivalent expression.
+        </para>
+        <para>It's useful to be aware of unsupported capabilities, in
+			order
+			to avoid fetching large data sets from Salesforce and making you
+			queries as performant as possible. See the Supported Capabilities
+			section in the appendix.
+        </para>
+    </sect1>
+    <sect1>
+        <title>Selecting from Multi-Select Picklists</title>
+        <para>
+			A multi-select picklist is a field type in Salesforce that can
+			contain multiple values in a single field. Query criteria operators
+			for fields of this type in SOQL are limited to EQ, NE, includes and
+			excludes. The full Salesforce documentation for selecting from
+			mullti-select picklists can be found at the following link.
+            <ulink
+				url="http://www.salesforce.com/us/developer/docs/api/index_Left.htm#StartTopic=Content%2Fsforce_api_calls_soql_querying_multiselect_picklists.htm|SkinName=webhelp">Querying Mulit-select Picklists
+            </ulink>
+        </para>
+        <para>Teiid SQL does not support the includes or
+			excludes
+			operators, but the Salesforce connector provides user
+			defined function
+			definitions for these operators that provided
+			equivalent functionality
+			for fields of type multi-select. The
+			definition for the functions is:
+        </para>
+        <programlisting><![CDATA[
+			boolean includes(Column column, String param)
+			boolean excludes(Column column, String param)           
+         ]]>        
+        </programlisting>
+        <para>For example, take a single multi-select picklist column
+			called Status that contains all of these values.
+        </para>
+        <itemizedlist mark='opencircle'>
+            <listitem>
+                <para>
+					current
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+					working
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+					critical
+                </para>
+            </listitem>
+        </itemizedlist>
+        <para>For that column, all of the below are valid queries:</para>
+        <programlisting><![CDATA[
+			SELECT * FROM Issue WHERE true = includes (Status, 'current, working' );
+			SELECT * FROM Issue WHERE true = excludes (Status, 'current, working' );
+			SELECT * FROM Issue WHERE true = includes (Status, 'current;working, critical' );           
+         ]]>        
+        </programlisting>
+        <para>EQ and NE criteria will pass to Salesforce as supplied. For
+			example, these queries will not be modified by the connector.
+        </para>
+        <programlisting><![CDATA[
+			SELECT * FROM Issue WHERE Status = 'current';
+			SELECT * FROM Issue WHERE Status = 'current;critical';
+			SELECT * FROM Issue WHERE Status != 'current;working';           
+         ]]>        
+        </programlisting>
+    </sect1>
+    <sect1>
+        <title>Selecting All Objects</title>
+        <para>
+			The Salesforce connector supports the calling the queryAll operation
+			from the Salesforce API. The queryAll operation is equivalent
+			to the
+			query operation with the exception that it returns data about
+            <emphasis role="strong">all current and deleted</emphasis>
+			objects in the system.
+        </para>
+        <para>The connector determines if it will call the
+			query or queryAll
+			operation via reference to the isDeleted property
+			present on each
+			Salesforce object, and modeled as a column on
+			each table generated by
+			the importer. By default this value is set to
+			False when the model is
+			generated and thus the connector calls
+			query. Users are free to change
+			the value in the model to True,
+			changing the default behavior of the
+			connector to be queryAll.
+        </para>
+        <para>The behavior is different if isDeleted is used as a parameter
+			in the query. If the isDeleted column is used as a parameter
+			in the
+			query, and the value
+			is 'true' the connector will call queryAll.
+        </para>
+        <programlisting><![CDATA[
+			select * from Contact where isDeleted = true;           
+         ]]>
+        </programlisting>
+        <para>If the
+			isDeleted column is used as a parameter in the query,
+			and the value
+			is 'false' the connector perform the default behavior
+			will call query.
+        </para>
+        <programlisting><![CDATA[
+			select * from Contact where isDeleted = false;           
+         ]]>
+        </programlisting>
+    </sect1>
+
+    <sect1>
+        <title>Selecting Updated Objects</title>
+        <para>If the option is selected when importing metadata from
+			Salesforce, a GetUpdated procedure is generated in the model with
+			the
+			following sturcture:
+        </para>
+        <programlisting><![CDATA[
+			GetUpdated (ObjectName IN string,
+			 	StartDate IN datetime, 
+			 	EndDate IN datetime,
+			 	LatestDateCovered OUT datetime)
+			returns
+				ID string 
+         ]]>
+        </programlisting>
+        <para>
+			See the description of the
+            <ulink
+				url="http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_getupdated.htm">GetUpdated
+            </ulink>
+			operation in the Salesforce documentation for usage details.
+        </para>
+    </sect1>
+    <sect1>
+        <title>Selecting Deleted Objects</title>
+        <para>If the option is selected when importing metadata from
+			Salesforce, a GetDeleted procedure is generated in the model with
+			the
+			following sturcture:
+        </para>
+        <programlisting><![CDATA[
+			GetDeleted (ObjectName IN string,
+			 	StartDate IN datetime, 
+			 	EndDate IN datetime,
+			 	EarliestDateAvailable OUT datetime,
+			 	LatestDateCovered OUT datetime)
+			returns
+				ID string,
+				DeletedDate datetime
+         ]]>
+        </programlisting>
+        <para>
+			See the description of the
+            <ulink
+				url="http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_getdeleted.htm">GetDeleted
+            </ulink>
+			operation in the Salesforce documentation for usage details.
+        </para>
+
+    </sect1>
+</chapter>
+	

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/importing.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/importing.xml	                        (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/importing.xml	2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="importing">
+	<title>Importing Metadata</title>
+	<sect1>
+		<title>Overview</title>
+		<para>
+			Salesforce metadata is structured relationally. Salesforce
+			Objects and the fields on those objects are analogous to relational
+			tables and columns. Because of this similarity, the modeling of
+			Salesforce metadata and interaction with the data through standard SQL
+			is easily accomplished within Teiid. However, the
+			properties of the objects in a Salesforce application are not an exact
+			match to the properties that are available on the standard Teiid
+			Relational Table and Column. In order to bridge the gap between
+			these metadata properties, integration with Salesforce requires
+			extensions to the standard Teiid Relational Base Table and Column.
+			The extensions required are created within the Model Project by the
+			Salesforce Importer and appropriate values are set into these
+			properties by the importer.
+  </para>
+		<para>
+			The Salesforce Importer will model the unique metadata that is
+			exposed to it by the Salesforce API as determined by the credentials
+			used in the importer. Users with different profiles within the same
+			Salesforce instance may be authorized to see different subsets of the
+			applications metadata and data. Keep this in mind when binding a
+			connector to the model. You must ensure that the credentials used in
+			the binding have access to all of the data that is exposed in the
+			model, or exceptions will occur. The importer also understands
+			customizations that have been made to applications and will model
+			them as well.
+	</para>
+	</sect1>
+	<sect1>
+		<title>Running the Importer</title>
+		<para>Select File->Import to display the Wizard Selection
+			Dialog.
+	</para>
+		<mediaobject>
+			<imageobject role="fo">
+				<imagedata fileref="../images/import.png" align="center" />
+			</imageobject>
+			<imageobject role="html">
+				<imagedata fileref="../images/import.png" contentwidth="8.5cm"
+					depth="3cm" />
+			</imageobject>
+		</mediaobject>
+
+		<para>Select Salesforce as Relational Source Model from in the
+			list displayed and click Next. The Salesforce Importer is displayed.
+		</para>
+		<mediaobject>
+			<imageobject role="fo">
+				<imagedata fileref="../images/credentials.png" align="center" />
+			</imageobject>
+			<imageobject role="html">
+				<imagedata fileref="../images/credentials.png"
+					contentwidth="8.5cm" depth="3cm" />
+			</imageobject>
+		</mediaobject>
+		<para>Enter a valid Username and Password into the text fields
+			and click Validate Credentials. If you are connecting to a sandbox
+			instance of a Salesforce application, enable the Override Connection
+			URL textbox and enter the URL to the sandbox instance. The default
+			value will probably be correct in most instances. After the Username
+			and Password are supplied, the Validate Credentials button will be
+			come active and you click this button to validate the connection
+			parameters and enable the Next Button. After clicking Next the
+			Salesforce Objects page is displayed.</para>
+		<mediaobject>
+			<imageobject role="fo">
+				<imagedata fileref="../images/objects.png" align="center" />
+			</imageobject>
+			<imageobject role="html">
+				<imagedata fileref="../images/objects.png" contentwidth="8.5cm"
+					depth="3cm" />
+			</imageobject>
+		</mediaobject>
+		<para>In the left column the Salesforce objects in the system are
+			listed and can be selected for modeling. Each object selected will be
+			modeled as a Table. In the Column Details table metadata from the
+			fields on the currently selected object are displayed, and these will
+			be modeled as columns on the tables.</para>
+		<para>When you have selected all of the Salesforce objects that
+			you wish to model, click Next. The Target Model Selection page will
+			be displayed. </para>
+		<mediaobject>
+			<imageobject role="fo">
+				<imagedata fileref="../images/options.png" align="center" />
+			</imageobject>
+			<imageobject role="html">
+				<imagedata fileref="../images/options.png" contentwidth="8.5cm"
+					depth="3cm" />
+			</imageobject>
+		</mediaobject>
+		<para>Select the model name, location, and options.</para>
+		<itemizedlist mark='opencircle'>
+			<listitem>
+				<para>
+					<emphasis role="strong">Model Name: </emphasis>
+					type the name of the new model to be created, or browse to select
+					an preexisting model to update.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<emphasis role="strong">Location: </emphasis>
+					type or browse to the location of the
+					model project to create the model in.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<emphasis role="strong">Model audit fields: </emphasis>
+					each Salesforce object has fields that track changes to
+					the object, such as LastModifiedDate and CreateById. These fields are
+					know as audit fields. Because each object in the application has
+					these fields, and some of these fields have relations to other
+					Salesforce objects, modeling these fields can cause a model to be
+					congested with relations. If you do not plan to use a model to query
+					audit data, you probably want to suppress modeling of these fields.
+					Checking this box will override the default behavior and will model
+					the audit fields.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<emphasis role="strong">Do not gather Cardinalities: </emphasis>
+					by default the importer will calculate the table cardinalites.
+					Cardinality metadata can greatly improve query performance, but it
+					may take the importer some time calculate this information.
+					Checking this box will suppress the calculation of cardinalities.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<emphasis role="strong">
+						Gather Column Distinct Value Count: </emphasis>by default the importer does
+						not calculate column distinct value counts. Checking this box will
+						cause the importer to calculate these values. This can be an
+						<emphasis role="strong">extremely long</emphasis>
+						running operation.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<emphasis role="strong">Set name to Salesforce Label: </emphasis>
+					each Salesforce object has a label (user visible name) that can be
+					modified, and names (the fixed internal name). By default the
+					importer will use the name when modeling objects. Checking this box
+					will cause the importer to use the label as the table name.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<emphasis role="strong">Create a procedure for the GetUpdated operation: </emphasis>checking this box will cause the importer to create a procedure for the getUpdated operation in the generated model.
+				</para>
+			</listitem>
+			<listitem>
+				<para>
+					<emphasis role="strong">Create a procedure for the GetDeleted operation:  </emphasis>checking this box will cause the importer to create a procedure for the getDeleted operation in the generated model.
+				</para>
+			</listitem>
+		</itemizedlist>
+		<para>Click Finish.</para>
+		<para>After the Salesforce Importer has finished, you will find
+			two new models created in your model project. One will have the name
+			you supplied in the last page of the importer, and the other will be
+			named SalesforceExtensions.xmi.</para>
+		<para>The SalesforceExtensions.xmi model contains the extensions
+			to the standard relational model. These extensions enable the model to
+			provided enhanced data to the Salesforce Connector at query time.
+			For example, some objects in Salesforce do not support the query
+			operation. In order to enforce this limitation the extension model
+			defined a Supports Query property, and the Salesforce Importer enters
+			the correct value into this property for each Table. The Salesforce
+			Connector validates that each table included in a query operation
+			has the value true for this property before executing a query and will
+			throw and exception in the event that the table is not querable.
+		</para>
+		<para>The other model created by the importer contains the model
+			of the data in the Salesforce instance that you selected in the
+			importer. This is the model you will execute your SQL statements
+			against.</para>
+	</sect1>
+</chapter>
\ No newline at end of file

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml	                        (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/content/preface.xml	2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<preface>
+	<title>Preface</title>
+	<para> This document shows how to model the metadata of an hosted
+		Salesforce application with Teiid Designer, and details the SQL semantics
+		supported by the connector in Teiid Embedded. This document contains
+		an overview of the process, including:</para>
+	<itemizedlist>
+		<listitem>
+			<para>Using the Salesforce Importer to create relational models
+				representing your Salesforce application.</para>
+		</listitem>
+		<listitem>
+			<para>Querying the Salesforce application.</para>
+		</listitem>
+	</itemizedlist>
+	<para> Commercial development support, production support, and training
+		for Teiid is available through JBoss.
+		Teiid is a Professional Open
+		Source project and a critical component of the
+		JBoss Enterprise Data
+		Services
+		Platform.</para>
+	<note>
+		<para>
+			Please read
+			<ulink url="http://www.jboss.org/teiid/basics.html">Federation Basics</ulink>
+			and understand different terminologies used, resources needed and
+			artifacts that need to be generated before
+			developing a successful
+			application. This example takes advantage of only a
+			minimal set of
+			features from
+			Teiid Embedded for the sake of simplicity and time.
+		</para>
+	</note>
+</preface>
\ No newline at end of file

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/credentials.png
===================================================================
(Binary files differ)


Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/credentials.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/import.png
===================================================================
(Binary files differ)


Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/import.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/logo.png
===================================================================
(Binary files differ)


Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/logo.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/objects.png
===================================================================
(Binary files differ)


Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/objects.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/options.png
===================================================================
(Binary files differ)


Property changes on: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/images/options.png
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/legal_notice.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/legal_notice.xml	                        (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/legal_notice.xml	2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,58 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!--
+
+    JBoss, Home of Professional Open Source.
+    Copyright (C) 2008 Red Hat, Inc.
+    Licensed to Red Hat, Inc. under one or more contributor 
+    license agreements.  See the copyright.txt file in the
+    distribution for a full listing of individual contributors.	
+    
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+    
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+    
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+    02110-1301 USA.
+
+-->
+<!DOCTYPE legalnotice PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<legalnotice id="Legal_Notice">
+    <title>Legal Notice</title>
+    <para>
+        <address>
+            <street>1801 Varsity Drive</street>
+            <city>Raleigh</city>, <state>NC</state><postcode>27606-2072</postcode><country>USA</country>
+            <phone>Phone: +1 919 754 3700</phone>
+            <phone>Phone: 888 733 4281</phone>
+            <fax>Fax: +1 919 754 3701</fax>
+            <pob>PO Box 13588</pob><city>Research Triangle Park</city>, <state>NC</state><postcode>27709</postcode><country>USA</country>
+        </address>
+    </para>
+    <para>
+        Copyright <trademark class="copyright"/> 2009 by Red Hat, Inc.  This copyrighted material is made available to
+        anyone wishing to use, modify, copy, or redistribute it subject to the terms and conditions of the
+        GNU <ulink url="http://www.gnu.org/licenses/lgpl-2.1.html">Lesser General Public License</ulink>, as published
+        by the Free Software Foundation.
+    </para>
+    <para>
+        Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries.
+    </para>
+    <para>
+        All other trademarks referenced herein are the property of their respective owners.
+    </para>
+    <para>
+        The GPG fingerprint of the security at redhat.com key is:
+    </para>
+    <para>
+        CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
+    </para>
+</legalnotice>

Added: trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/salesforce_connector_guide.xml
===================================================================
--- trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/salesforce_connector_guide.xml	                        (rev 0)
+++ trunk/documentation/salesforce-connector-guide/src/main/docbook/en-US/salesforce_connector_guide.xml	2009-06-24 16:07:46 UTC (rev 1075)
@@ -0,0 +1,60 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!--
+
+    JBoss, Home of Professional Open Source.
+    Copyright (C) 2008 Red Hat, Inc.
+    Licensed to Red Hat, Inc. under one or more contributor 
+    license agreements.  See the copyright.txt file in the
+    distribution for a full listing of individual contributors. 
+    
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+    
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+    
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+    02110-1301 USA.
+
+-->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+        <!ENTITY versionNumber "6.1.0">
+        <!ENTITY copyrightYear "2009">
+        <!ENTITY copyrightHolder "Red Hat, Inc.">
+]>
+<book>
+  <bookinfo>
+    <title>Teiid - Salesforce Connector Guide</title>
+    <releaseinfo>&versionNumber;
+    </releaseinfo>
+    <productnumber>&versionNumber;
+    </productnumber>
+    <issuenum>1</issuenum>
+    <mediaobject>
+      <imageobject role="fo">
+        <imagedata fileref="images/logo.png" align="center" />
+      </imageobject>
+      <imageobject role="html">
+        <imagedata fileref="images/logo.png" depth="3cm" />
+      </imageobject>
+    </mediaobject>
+    <copyright>
+      <year>&copyrightYear;
+      </year>
+      <holder>&copyrightHolder;
+      </holder>
+    </copyright>
+    <xi:include href="legal_notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+  </bookinfo>
+  <toc />
+  <xi:include href="content/preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+  <xi:include href="content/importing.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+  <xi:include href="content/connector.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+  <xi:include href="content/appendix.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+</book>
\ No newline at end of file




More information about the teiid-commits mailing list