Skip to content

Commit ff0d20d

Browse files
authored
Merge branch 'develop' into master
2 parents d89cc57 + 4686d38 commit ff0d20d

File tree

8 files changed

+60
-45
lines changed

8 files changed

+60
-45
lines changed

CODEOWNERS

+18-32
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1+
# Global default: all files fall back to the Segment docs team
2+
# unless overridden by a more specific rule.
13
* @segmentio/segment-doc-team
2-
# The default owners for everything in
3-
# the repo. Unless a later match takes precedence.
4-
CODEOWNERS @segmentio/segment-doc-team
54

5+
# The specific rules in this file still take precedence (for example, /src/protocols).
6+
# However, we've added @segmentio/segment-doc-team to each rule to make sure that
7+
# PRs can be reviewed by ANY member of the team. If the docs team member isn't available,
8+
# GitHub will assign reviewers randomly from the rest of the team.
9+
10+
# CODEOWNERS file itself
11+
CODEOWNERS @segmentio/segment-doc-team
612

713
# Utility scripts
814
/scripts @segmentio/segment-doc-team
@@ -11,43 +17,23 @@ CODEOWNERS @segmentio/segment-doc-team
1117
# /vale-styles @segmentio/segment-doc-team
1218
# .vale.ini @segmentio/segment-doc-team
1319

14-
15-
# Content owners should be in the order of PM, TL (team-lead), and EM (in a crisis) for a given team.
16-
# This team will receive review requests automatically when a PR is submitted modifying the files in
17-
# a given directory+subtree, or file type, etc. that matches below. While Github won't enforce the
18-
# order names are listed in for the PR review, this file can provide insight on who should be contacted
19-
# if anything becomes time sensitive. Names other than the PM can mostly ignore these review notifications
20-
# but are listed here as backup.
21-
20+
# Content ownership by team member
2221

2322
# Libraries owners
24-
/src/connections/catalog/libraries @stayseesong
25-
26-
27-
# Destinations owners
28-
# /src/connections/destinations @stayseesong=
29-
30-
# Stratconn
31-
## Adobe
32-
33-
34-
## Facebook
35-
36-
37-
## Google
38-
39-
40-
## Salesforce
23+
/src/connections/catalog/libraries @stayseesong @segmentio/segment-doc-team
4124

25+
# Destinations owners; owned by the docs team only,
26+
# so GitHub can assign a reviewer randomly.
27+
/src/connections/destinations @segmentio/segment-doc-team
4228

4329
# Engage
44-
/src/engage/ @pwseg
30+
/src/engage/ @pwseg @segmentio/segment-doc-team
4531

4632
# Unify
47-
/src/unify @pwseg
33+
/src/unify @pwseg @segmentio/segment-doc-team
4834

4935
# Protocols owners
50-
/src/protocols @forstisabella
36+
/src/protocols @forstisabella @segmentio/segment-doc-team
5137

5238
# Storage owners
53-
/src/connections/storage @forstisabella
39+
/src/connections/storage @forstisabella @segmentio/segment-doc-team

src/connections/reverse-etl/system.md

+31
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,37 @@ For Segment to compute the data changes within your warehouse, Segment needs to
1616
> warning ""
1717
> There may be cost implications to having Segment query your warehouse tables.
1818
19+
## Reverse ETL schema
20+
When using Reverse ETL with Segment, several system tables are created within the `__segment_reverse_etl` schema in your warehouse. These tables are crucial for managing the sync process efficiently and tracking state information. Below are the details of the system tables in this schema:
21+
22+
### Records table
23+
24+
`records_<subscription_id>` table is located within the ` __segment_reverse_etl` schema.
25+
26+
This table contains two key columns:
27+
28+
- `record_id`: A unique identifier for each record.
29+
- `checksum`: A checksum value that is used to detect changes to a record since the last sync.
30+
The records table helps in determining new and updated rows by comparing the checksum values during each sync. If a record’s checksum changes, it indicates that the record has been modified and should be included in the next sync. This ensures that only the necessary updates are processed, reducing the amount of data transferred.
31+
32+
### Checkpoint table
33+
34+
The `checkpoints_<subscription_id>` tables are located within the __segment_reverse_etl schema.
35+
36+
This table contains the following columns:
37+
38+
- `source_id`: Identifies the source from which the data is being synced.
39+
- `model_id`: Identifies the specific model or query that is used to pull data.
40+
- `checkpoint`: Stores a timestamp value that represents the last sync point for a particular model.
41+
42+
The checkpoints table is used for timestamp-based checkpointing between syncs. This enables Segment to track the last successful sync for each model and avoid duplicating data when syncing, ensuring incremental and efficient data updates.
43+
44+
### Important Considerations
45+
46+
Do not modify or delete these tables. Altering or deleting the records and checkpoints tables can cause unpredictable behavior in the sync process. These tables are essential for maintaining the integrity of data during Reverse ETL operations.
47+
State management: The `__segment_reverse_etl` schema and its associated tables (records and checkpoints) manage the state of each sync, ensuring that only necessary data changes are synced and that the sync process can resume where it left off.
48+
49+
1950
## Limits
2051
To provide consistent performance and reliability at scale, Segment enforces default use and rate limits for Reverse ETL.
2152

src/connections/sources/catalog/cloud-apps/hubspot/index.md

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ Are you trying to set up HubSpot as a destination to receive data from Segment?
2424

2525
Voila! We'll begin syncing your HubSpot data into Segment momentarily, and it will be written to your warehouse at your next Warehouse run.
2626

27-
2827
## Components
2928

3029
### Sync

src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ Use Analytics-Kotlin (Android) to configure [destination filters](/docs/connecti
1313

1414
To get started with destination filters on mobile device-mode destinations using Kotlin:
1515

16-
1. Download and install the dependency.
16+
1. Download and install the dependency, replacing `latest_version` with the current version:
1717
```java
18-
implementation 'com.segment.analytics.kotlin:destination-filters:0.1.1'
18+
implementation 'com.segment.analytics.kotlin:destination-filters:<latest_version>'
1919
```
2020

2121
2. Add the plugin.

src/connections/sources/catalog/libraries/server/go/index.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ All of Segment's server-side libraries are built for high-performance, so you ca
1818
Install `analytics-go` using `go get`:
1919

2020
```bash
21-
go get gopkg.in/segmentio/analytics-go.v3
21+
go get github.com/segmentio/analytics-go/v3
2222
```
2323

2424
Then import it and initialize an instance with your source's **Write Key**. Of course, you'll want to replace `YOUR_WRITE_KEY` with your actual **Write Key** which you can find in Segment under your source settings.
2525

2626
```go
2727
package main
2828

29-
import "gopkg.in/segmentio/analytics-go.v3"
29+
import "github.com/segmentio/analytics-go/v3"
3030

3131
func main() {
3232
client := analytics.New("YOUR_WRITE_KEY")
@@ -414,8 +414,6 @@ for example, with [govendor](https://github.com/kardianos/govendor){:target="_bl
414414
govendor fetch github.com/segmentio/[email protected]
415415
```
416416

417-
Alternatively, you can also use [`gopkg.in`](http://labix.org/gopkg.in){:target="_blank”}. First run `go get gopkg.in/segmentio/analytics-go.v3` and replace your imports with `import "gopkg.in/segmentio/analytics-go.v3"`.
418-
419417
To help with migrating your code, Segment recommends checking out a simple example that is written in [v2](https://github.com/segmentio/analytics-go/blob/v2.0/examples/track.go) and [v3](https://github.com/segmentio/analytics-go/blob/v3.0/examples/track.go) so you can easily see the differences.
420418

421419
The first difference you'll notice is that `Client` is now an interface. It has a single method - `Enqueue` that can accept messages of all types.

src/connections/sources/catalog/libraries/website/javascript/index.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,11 @@ The only required argument on Track calls in Analytics.js is an `event` name str
138138

139139
#### Track link
140140

141-
`trackLink` is a helper method that attaches the `track` call as a handler to a link.
142-
With `trackLink`, Analytics.js inserts a timeout of 300 ms to give the `track` call more time. This is useful when a page would redirect before the `track` method could complete all requests.
141+
`trackLink` is a helper method that attaches a Track call as a handler to a link. When a user clicks the link, `trackLink` delays the navigation event by 300ms before proceeding, ensuring the Track request has enough time to send before the page starts unloading.
143142

144-
The `trackLink` method follows the format below.
143+
This is useful when a page redirects too quickly, preventing the Track method from completing all requests. By momentarily holding off navigation, `trackLink` increases the likelihood that tracking data reaches Segment and destinations successfully.
144+
145+
The `trackLink` method follows the format below:
145146

146147
```js
147148
analytics.trackLink(element, event, [properties])

src/connections/sources/custom-domain.md

+2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ Custom Domain supports the following sources:
3737
- [Python](/docs/connections/sources/catalog/libraries/server/python/)
3838
- [Ruby](/docs/connections/sources/catalog/libraries/server/ruby/)
3939
- [.NET](/docs/connections/sources/catalog/libraries/server/net/)
40+
- [Pixel API](/docs/connections/sources/catalog/libraries/server/pixel-tracking-api/)
4041

4142
## Getting started
4243

@@ -73,6 +74,7 @@ For non-Analytics.js sources, you’ll need to update your implementation to use
7374

7475
- **Server Sources**: When sending data from server-side implementations, use the `host` configuration parameter to send data to your subdomain instead of the default Segment domain.
7576
- **Mobile Sources**: When sending data from mobile implementations, use the `apiHost` configuration parameter to send data to your subdomain instead of the default Segment domain.
77+
- **Pixel API Sources**: When sending data from Pixel implementations, modify the endpoint from Segment's default domain (`https://api.segment.io/v1/pixel/track`) to your custom domain (`https://api.mysubdomain.mydomain.com/v1/pixel/track`).
7678

7779
### Is there a benefit in migrating server-side sources over to client-side with Custom Domain?
7880
Server-side tracking is generally more reliable than client-side tracking. For example, when tracking data client-side, you might lose data when users might block all cookies or use tools that interfere with network requests leaving the browser.

src/engage/index.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ redirect_from:
55
- '/personas/'
66
---
77

8-
Powered by real-time data, Twilio Engage is a customizable personalization platform with which you can build, enrich, and activate Audiences.
9-
10-
Engage Channels builds on top of these Audiences, helping you connect with and market to your customers through email, SMS, and WhatsApp campaigns.
8+
Powered by real-time data, Twilio Engage is a customizable personalization platform with which you can build, enrich, and activate Audiences.
119

1210
## What can you do with Engage?
1311

0 commit comments

Comments
 (0)