Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding ConfigCat source documentation #6596

Merged
merged 10 commits into from
Jun 13, 2024
Merged

Conversation

laliconfigcat
Copy link
Contributor

Proposed changes

Adding the ConfigCat source documentation to be able to publish our integration.

Merge timing

ASAP once approved

@laliconfigcat laliconfigcat requested a review from a team as a code owner May 23, 2024 10:15
@laliconfigcat laliconfigcat requested review from pwseg and removed request for a team May 23, 2024 10:15
@pwseg pwseg requested a review from tcgilbert May 23, 2024 14:48
Copy link
Contributor

@tcgilbert tcgilbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you have any questions do let me know.

@laliconfigcat
Copy link
Contributor Author

If you have any questions do let me know.

Hello @tcgilbert , many thanks for your review. I will fix these mistakes, but i'll be OOO this week, so probably i will do it early next week.


ConfigCat uses our stream Source component to send Segment event data. It uses a `track` method to send data to Segment. These events are then available in any destination that accepts events, and available in a schema in your data warehouse, so you can query using SQL.

The default behavior is for ConfigCat to pass the user object's identifier property used during the feature flag evaluation as the userId or sending the ConfigCat User's ID who made the changes as the userId.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens when there is no user object identifier? Is the default to send ConfigCat User's IDas the Segment userId in it's place?

Will there every be a situation where nothing is used as the Segment userId, and you send an event with only with anonymousId? If so what is used for anonymousId

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two ways how we are sending data to Segment. They are totally different and they have nothing in common related to User ID handling.

The feature flag evaluated event is sent from ConfigCat's customer's application with a code snippet we provide in our documentation. The user object's identifier is our customer's application's user's identifier. If that is not provided we are sending an empty string. However it seems to be pointless at first glance, but in ConfigCat terminology it totally makes sense to not have an user object during feature flag evaluation. But we would like to send events in this case too. We don't send explicitly anything in this case as anonymusId, but the code snippets we provide are using Segment's SDKs. Is it handled there? What is your suggestion in this case? Should we generate a GUID and send it as the anonymusid? These applications don't know anything about ConfigCat User's ID.

The feature flag changed event is sent from ConfigCat's backend and we always provide the userId there (ConfigCat User's ID).

Copy link
Contributor

@tcgilbert tcgilbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

last minor tweak and I'll approve!

@laliconfigcat
Copy link
Contributor Author

last minor tweak and I'll approve!

Thank you very much for your review!

@pwseg pwseg added the new-integration Added a new source or destination label Jun 13, 2024
@pwseg pwseg merged commit 911e418 into segmentio:develop Jun 13, 2024
4 checks passed
Copy link
Contributor

Thank you for your contribution! Your pull request is merged, but may take a day or two to appear on the site.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-integration Added a new source or destination
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants