Skip to content

Commit

Permalink
adding documentation resources for partners
Browse files Browse the repository at this point in the history
  • Loading branch information
fivetran-dejantucakov committed Oct 9, 2024
1 parent 31ef2e5 commit ebf77c0
Show file tree
Hide file tree
Showing 7 changed files with 968 additions and 2 deletions.
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,17 @@ Once we get customers using your connector or destination, they can reach out to
Our response times are articulated in our [Fivetran Support Policy](https://support.fivetran.com/hc/en-us/articles/5893119459223-Fivetran-Support-Policy) documentation. Bear in mind customers may expect your support response times to be similar. We recommend linking to your own SLAs/Support policies from the documentation you create for Fivetran.

### How do we create product documentation?
All Fivetran connectors have public documentation. For the SDK, we will need you to produce the following:
All Fivetran connectors have public documentation. For partner-built connectors, we will need you to produce the following:
* Setup Guide [example](https://fivetran.com/docs/databases/cosmos/setup-guide)
* Overview Page [example](https://fivetran.com/docs/databases/cosmos)

We’ll consume these docs and our tech-writing team will edit for grammar and style, sending back to your team (TBD on automation) to keep in sync.
To help you produce the documentation, we provide helpful resources:
* [Source connector templates](source-connector-templates/)
* [Destination connector templates](destination-connector-templates/)
* [Fivetran's documentation style guide](https://github.com/fivetran/fivetran_sdk/tree/main/style-guide/style-guide.md)
* [Fivetran-approved glossary of common terms](https://github.com/fivetran/fivetran_sdk/tree/main/style-guide/common-terms-glossary.md)

We’ll review these docs and our Tech Writing team will edit for grammar and style, sending back to your team (TBD on automation) to keep in sync. The documentation is to be hosted in [Fivetran's documentation site](https://fivetran.com/docs/getting-started).

### How do we go-to-market?
Fivetran will market through multiple methods:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{This is a template for standard destination connector docs. Items between curly brackets need to be replaced with specific names or directions. For links to Fivetran documentation pages/sections, do _not_ use the absolute path format like [page name](https://fivetran.com/docs/...), use [page/section name](/docs/...) instead. Also, do _not_ include `/index.md` in the path, trim the path at the page directory. For example, [connector page name](/docs/connectors/applications/some-connector) is correct while [connector page name](/docs/connectors/applications/some-connector/index.md) is _incorrect_.}

---
name: {Item name in the left nav menu}
title: {SEO title}
description: {Meta Description}
hidden: {true or false. Set to true if the article should only be accessible via a direct link and not indexed by crawlers.}
---

# {Destination Name}

{Description - Required - What is the service? Overview of what the service is (for example, Snowflake/Redshift). You can refer to publicly available documentation, however, remember to tailor it to Fivetran's context. Also, add a link to the related public website for the user’s reference.}

{Example: [Azure Data Lake Storage](https://azure.microsoft.com/en-gb/products/storage/data-lake-storage/) is a cloud-based, scalable data storage solution for big data analytics. ADLS allows you to store and manage massive amounts of data in any format. Fivetran supports data lakes built on ADLS as a destination.}

{Add this text to partner-built destination files: This destination is [partner-built](/docs/partner-built-program). For any questions related to {destination name} destination and its documentation, contact [{destination name} Support](_add support link_).}

------------------

## Setup guide

Follow our [step-by-step {Destination} setup guide](/docs/{path}/setup-guide) to connect your {Destination} destination with Fivetran.

------------------

## Type transformation and mapping

The data types in your {New Destination} follow Fivetran's [standard data type storage](/docs/destinations#datatypes).

We use the following data type conversions: <The following is an example>

| Fivetran Data Type | Destination Data Type | Notes |
| - | - | - |
| BOOLEAN | BOOLEAN | |
| SHORT | SMALLINT | |
| INT | INTEGER | |
| LONG | BIGINT | |
| FLOAT | REAL | |
| DOUBLE | DOUBLEPRECISION | |
| BIGDECIMAL | DECIMAL | |
| LOCALDATE | DATE | |
| INSTANT | TIMESTAMP_TZ | |
| LOCALDATETIME | TIMESTAMP_NTZ | |
| STRING | VARCHAR or TEXT | VARCHAR if `bytelength`is present, else TEXT |
| JSON | VARIANT | |
| BINARY | BINARY | |

<Example content>

> NOTE: SMALLINT, INTEGER, and BIGINT are synonymous with [NUMBER](https://docs.snowflake.com/en/sql-reference/data-types-numeric.html#int-integer-bigint-smallint-tinyint-byteint).
------------------

## Hybrid Deployment support

We {support/do not support} for the [Hybrid Deployment model](/docs/core-concepts/architecture/hybrid-deployment) for {destination name} destinations.

------------------

## Limitations (if applicable)

{Document the destination's limitations - for example, this destination does not support history mode.}

------------------

## Optimize {Destination} (if applicable)
{List steps to optimize destination performance.}

------------------

## Data load costs

List any additional cost info our customers need to know.
------------------

## Migrate destinations {This is an example section}

1. Enumerate the steps.
2. Use screenshots if necessary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{This is a destination connector setup guide template. Items between curly brackets need to be replaced with specific names or directions. For links to Fivetran documentation pages/sections, do _not_ use the absolute path format like [page name](https://fivetran.com/docs/...), use [page/section name](/docs/...) instead. Also, do _not_ include `/index.md` in the path, trim the path at the page directory. For example, [connector page name](/docs/connectors/applications/some-connector) is correct, while [connector page name](/docs/connectors/applications/some-connector/index.md) is _incorrect_.}

---
name: {Item name in the left nav menu}
title: {SEO title}
description: {Meta Description}
hidden: {true or false. Set to true if the article should only be accessible via a direct link and not indexed by crawlers.}
---

# {Destination Name} Setup Guide

Follow our setup guide to connect {Destination} to Fivetran.

-----

## Prerequisites

To connect a {Destination} to Fivetran, you need the following:

{List what the user needs to know or do before they get started}

- A Fivetran role with the [Create Destinations or Manage Destinations](/docs/using-fivetran/fivetran-dashboard/account-settings/role-based-access-control#rbacpermissions) permissions
- Administrator account {this is an example}
- Version 17 of Acme installed {this is an example}

---

## Setup instructions

### <span class="step-item">{Descriptive name of the step; for example, Get your API key}</span>

1. Enumerate the steps.
2. List one action per step.
{use screenshots when needed}

### <span class="step-item">Second step</span>

1. Enumerate the steps.
2. List one action per step.
{use screenshots when needed}

### <span class="step-item"> Complete Fivetran configuration </span>

{Required}
1. Log in to your [Fivetran account](https://fivetran.com/login).
2. Go to the **Destinations** page and click **Add destination**.
3. Enter a **Destination name** of your choice and then click **Add**.
4. Select **<Destination>** as the destination type.
5. In the destination setup form, enter the **Host** name you found in [Step 1](/docs/destinations/).
6. Enumerate the steps in from the destination setup form.
7. List one action per step.
8. Click **Save & Test**.

Fivetran [tests and validates](/docs/destinations/newdestination/setup-guide#setuptests) the <Destination> connection. Upon successfully completing the setup tests, you can sync your data using Fivetran connectors to the <Destination> destination.


### Setup tests

Fivetran performs the following {Destination} connection tests: <The following are examples>:

The Host Connection test checks the host's accessibility and validates the database credentials you provided in the setup form.
- The Validate Passphrase test validates your private key against the passphrase if you use key-pair authentication.
- The Default Warehouse test checks if the Snowflake warehouse exists and if you have set it as the default warehouse.
- The Database Connection test checks if we can connect to your Snowflake database.
The Permission test checks whether we have the CREATE SCHEMA and CREATE TEMPORARY TABLES permissions on your Snowflake database.

> NOTE: The tests may take a couple of minutes to complete.
---

## Related articles

[<i aria-hidden="true" class="material-icons">description</i> Destination Overview](/docs/destinations/newdestination)

<b> </b>

[<i aria-hidden="true" class="material-icons">assignment</i> Release Notes](/docs/destinations/newdestination/changelog)

<b> </b>

[<i aria-hidden="true" class="material-icons">settings</i> API Destination Configuration](/docs/rest-api/destinations/config#newdestination)

<b> </b>

[<i aria-hidden="true" class="material-icons">home</i> Documentation Home](/docs/getting-started)

Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{This is a template for the source connector overview page. Items between curly brackets need to be replaced with specific names or directions. For links to Fivetran documentation pages/sections, do _not_ use the absolute path format like [page name](https://fivetran.com/docs/...), use [page/section name](/docs/...) instead. Also, do _not_ include `/index.md` in the path, trim the path at the page directory. For example, [connector page name](/docs/connectors/applications/some-connector) is correct while [connector page name](/docs/connectors/applications/some-connector/index.md) is _incorrect_.}

---
name: {Item name in the left nav menu}
title: {Source system} connector by Fivetran | Fivetran documentation
Description: Connect your {source system} data to your destination using Fivetran.
hidden: {true or false. Set to true if the article should only be accessible via a direct link and not indexed by crawlers.}
---

# {Source Connector Name} {% typeBadge connector="connector_name" /%} {% availabilityBadge connector="connector_name" /%}

{Description - Required - What is the service? Overview of what the service is (Marketo = Email marketing tool). You can refer to publicly available documentation, however, remember to tailor it to Fivetran's context.
Also, add a link to a related public website for users’ reference.}

{Example: [15Five](https://www.15five.com/) is an employee performance management platform.}

------------------

## Features

{List the supported features and their notes separated by a colon to populate the Supported and Notes columns of the Feature table. Unsupported features are added automatically. Use the colon after the feature name. Each feature should be on a new line. The feature list should be wrapped by `{% featureTable connector="connector_id" %} ... {% /featureTable %}`. It helps to autopopulate some data in the Note column. If you want to add a new feature to the Feature table or change a link of an existing feature, make the relevant change to the template file: `/docs/_template_articles/feature-table.yaml`. Add notes to clarify the conditions under which the particular feature is supported for the connector. For example, if a connector only supports custom data for certain tables, specify these tables. Or, if a connector supports data blocking at every level, list all the levels: "Column level, table level, and schema level". For definitions of features, see our [Features documentation](https://fivetran.com/docs/using-fivetran/features). }

{% featureTable connector="connector_id" %}
Capture Deletes:
Custom Data:
Data Blocking:
Column Hashing:
Re-sync: Connector level
History Mode:
API Configurable:
Priority-first sync:
Fivetran data models:
Private Networking:
{% /featureTable %}

{ If the connector supports API configuration, add it to the list of [Connectors supported by API and their authorization methods]
(/docs/rest-api/getting-started#connectorssupportedbyapiandtheirauthorizationmethods) and specify whether it supports Connect Card and API authorization.}

------------------

## Setup guide

Follow our [step-by-step {Connector name} setup guide](/docs/{path}/setup-guide) to connect {Connector} with your destination using Fivetran connectors.

------------------

## Sync overview

{Optional}
{Brief overview of how the connector works.
What processes do we use to sync the data? Query the initial sync, then read off the logs?
If the connector uses webhooks as part of its sync strategy, add it to the list in the [Exceptions section](/docs/security#exceptions) - under the **Event data from the Webhooks connector and other connectors using webhooks** item. Also, specify its data retention period.}

{Use subheadings (### and ####) to cover items such as rollback syncs and conversion windows}

------------------

## Schema information

{Embed a link to the connector’s ERD.}

{In subheadings (### and ####) cover items such as initial sync, updating data, deleted rows, deleted columns, type transformations and mapping, and Fivetran-generated columns.}
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{This is a connector setup guide template. Items between curly brackets need to be replaced with specific names or directions. For links to Fivetran documentation pages/sections, do _not_ use the absolute path format like [page name](https://fivetran.com/docs/...), use [page/section name](/docs/...) instead. Also, do _not_ include `/index.md` in the path, trim the path at the page directory. For example, [connector page name](/docs/connectors/applications/some-connector) is correct while [connector page name](/docs/connectors/applications/some-connector/index.md) is _incorrect_.}

---
name: {Item name in the left nav menu}
title: {SEO title}
description: {Meta Description - Example: Read step-by-step instructions on how to connect {Source system} with your destination using Fivetran connectors.}
hidden: {true or false. Set to true if the article should only be accessible via a direct link and not indexed by crawlers.}
---

# {Connector} Setup Guide {% typeBadge connector="connector_name" /%} {% availabilityBadge connector="connector_name" /%}

Follow our setup guide to connect {Connector} to Fivetran.

-----

## Prerequisites

{Required}

To connect your {Source Connector} account to Fivetran, you need:
{List what the user needs to know or do before they get started}

- Administrator account {this is an example}
- Version 17 of Acme installed {this is an example}

---

## Setup instructions

To authorize Fivetran to connect to your {Connector} app, follow these instructions:

### <span class="step-item">{Descriptive name of step, for example, Get your API key}</span>

1. Enumerate the steps.
2. List one action per step.
{use screenshots when needed}

### <span class="step-item">Second step</span>

1. Enumerate the steps.
2. List one action per step.
{use screenshots when needed}

### <span class="step-item">Finish Fivetran configuration </span>

{Required}
1. In the [connector setup form](/docs/using-fivetran/fivetran-dashboard/connectors#addanewconnector), enter {field specific to this connector}.
1. {Additional instructions for this specific connector}
1. Click **Save & Test**. Fivetran will take it from here and sync your data from your {Connector Name} account.

### Setup tests (applies to all connectors but Applications connectors)

{List the setup tests that we run in the Fivetran dashboard for this connector.}

Fivetran performs the following {Connector} connection tests:
- The Validate Secrets test checks if you have entered the secrets in a valid JSON format. {this is an example}
- The Connecting to AWS test checks the connection and the cluster accessibility. {this is an example}


---

## Related articles

[<i aria-hidden="true" class="material-icons">description</i> Connector Overview](/docs/connectors/{connector category}/newconnector)
{Replace "connector category" with the actual category the connector falls into. The options are applications, databases, events, files, or functions.}

<b> </b>

[<i aria-hidden="true" class="material-icons">account_tree</i> Schema Information](/docs/connectors/{connector category}/newconnector#schemainformation)
{Replace "connector category" with the actual category the connector falls into. The options are applications, databases, events, files, or functions.}

<b> </b>

[<i aria-hidden="true" class="material-icons">assignment</i> Release Notes](/docs/connectors/{connector category}/newconnector/changelog)
{Only add the Release Notes related article if the connector is in Beta or GA. Private Preview connectors don't have release notes.}

<b> </b>

[<i aria-hidden="true" class="material-icons">settings</i> API Connector Configuration](/docs/rest-api/connectors/config#newconnector)

<b> </b>

[<i aria-hidden="true" class="material-icons">home</i> Documentation Home](/docs/getting-started)
Loading

0 comments on commit ebf77c0

Please sign in to comment.