? *MITライセンスはプラットフォームに適用され、ネットワーク分布を有効にします。プロジェクトの残りの部分は、AGPL V3の下にあります。
完全にオープンソースでプライバシーに優しいシンプルでありながら強力なGoogleタグマネージャーの代替品。当社の組み込まれたGoogleアナリティクスの代替品は、Cookieを使用せず、完全にGDPR、CCPA、PECRに準拠しています。デモを迅速かつ簡単に試したり、単に自分でプロダクションでホストしたりすることができました。また、近い将来にクラウドホストバージョンを提供します。
データマネージャーは、どこにでもデータを送信するためのプラグ可能なバックエンドを提供し、コネクタと機能の両方を増やすためのパイプラインがあります。数回クリックして、スキーマを設計し、バックエンドを構成し、データを送信するエンドポイントを作成します。タグマネージャーは、この同じ基礎となる技術を使用して分析を提供します。
私たちの使命は、カスタムプラットフォーム(コミュニティによって構築された!)を介して完全に拡張できる直感的なタグ管理ツールを作成することでした。私たちは、優れたオープンソースソフトウェアを構築し、はるかに大企業の市場シェアを削減することに情熱を傾ける小さなチームです。私たちは企業や政府の監視の増加のファンではありません。また、あなたのウェブサイトのユーザーはより良い価値があると基本的に信じています。しかし、これは、共有されている不動産と個人データを収益化するためのビジネス要件とバランスをとる必要があります。
既にDocker Composeをインストールしている場合に開始する方法の1行の例を次に示します。
~ > curl -L https://github.com/scale8/scale8/raw/master/docker-compose.yml | docker-compose -f - up上記のコマンドがサービスを開始したら、 http://127.0.0.1:8080 8080でブラウザを指してください。プロジェクトを構成するために、いくつかの基本的な詳細を入力するように求められます。
または、プロジェクトを既にチェックアウトし、 ~> yarn install:allローカルに実行したい場合: -
~ > yarn run:all可能な限り複雑なビルドプロセスと余分なボリュームの取り付けをサポートするために、プラットフォーム全体を設計しました。 AWS、Google Cloud、Custom Kubernetesセットアップの両方に、完全なワンクリック制作対応セットアップを提供するのが難しいです。
| 成分 | 説明 |
|---|---|
| API | すべてのビジネスロジックが含まれており、UIに電力を供給するGraphQL / RESTFULエンドポイントを提供します |
| 一般 | プロジェクトコンポーネント間で共有される小さな一般的なライブラリ |
| 角 | エッジサーバーは、水平方向にスケーリングするように設計されており、エッジでプラットフォームを配信し、データを追跡する責任があります。 |
| プラットフォーム | Tag Managerの機能を拡張するコミュニティとScale8によって作成されたカスタムプラットフォーム |
| ルーター | nginxを使用して作成され、自己ホストバージョンをすばやくスピンアップするために設計されたシンプルなルーター |
| ui | next.js&Reactを使用してUIの静的ビルドを提供します |
~> yarn install:all~> yarn build:all 全員がフルタグマネージャーを使用するための要件を持っているわけではないため、JavaScriptの数行しか必要ない非常に軽いバージョンを生成するオプションも提供しました。
また、シングルページアプリケーション(SPA)とハッシュルーティングの追跡に関する完全なサポートも提供しています。これらは、アプリケーションをインストールするときに有効にすることができます。
1つ以上のWebプロパティ全体でタグを整理および管理するプロセスを簡素化するために最善を尽くしました。タグマネージャーは、イベント駆動型のルールベースのエンジンに基づいています。これにより、イベントや条件と例外がすべて満たされたときにルールがトリガーされ、1つ以上のアクションが実行されます。
ブラウザ内でトリガーされたイベントは、シンプルなインターフェイスで簡単に管理できます。クリックされたリンク、焦点が合っているページ、または提出されたフォームはすべて、聞きたいイベントの例です。
条件とは、データコンテナで行われたテストであり、データコンテナオブジェクトに属するキーが期待値に合わせていることを主張することを目的としています。例外は、同じテストを行うことを目的としていますが、テストが合格した場合はルールを除外します。
ルールの必要なイベントと条件を満たすと、アクションが起動されます。アクションの詳細については、こちらをご覧ください。
私たちはもともと、タイプスクリプトのフロントエンドとScala駆動型のバックエンドから始めました。私たちが望んでいたコードの透明性を提供するために、プロジェクトをオープンソースの決定と相まって、JavaのEdgeサーバーだけでほぼ純粋にタイプスクリプトに移動する必要がありました。このプロジェクトの将来は現在、オープンソースコミュニティにあると基本的に信じており、ScalaエンジニアよりもタイプスクリプトとJavaのエンジニアが多いと考えています。
リリースの直前に、CRAからnext.jsにも移動しました。また、TypeScriptバックエンドに制御の反転(IOC)を導入しました。私たちの目標は、このプロジェクトが可能な限り拡張可能になることです。プラグアンドプレイモデルは、複数のサービスを提供し、ロックインを防ぐ機会を提供します。
container . bind < BaseStorage > ( TYPES . BackendStorage ) . to ( MongoDBStorage ) . inSingletonScope ( ) ;
container . bind < BaseDatabase > ( TYPES . BackendDatabase ) . to ( MongoDb ) . inSingletonScope ( ) ;
container . bind < BaseLogger > ( TYPES . BackendLogger ) . to ( ConsoleLogger ) . inSingletonScope ( ) ;
container . bind < BaseEmail > ( TYPES . BackendEmail ) . to ( Mailer ) . inSingletonScope ( ) ;
container . bind < BaseConfig > ( TYPES . BackendConfig ) . to ( EnvironmentConfig ) . inSingletonScope ( ) ;Javaコードでも同様のアプローチをとっています。
@ Replaces ( StorageInterface . class )
@ Singleton
@ Requires ( property = "backend-storage" , value = "google" )
public class GoogleStorage implements StorageInterface {
...
}現在、分析用のMongodbとGoogleのBigqueryのみを提供しています。 MongoDBは、小規模プロジェクトとデモ /テストの目的にのみ適しています。まだリリースされていないクラウドバージョンでは、完全なクリックハウスのサポートがあります。このサポートは、まもなくredshiftとpostgresとともに自己ホスト版に追加されます。
また、自己ホストバージョンから1時間ごとの集約パイプラインを削除しました。これにより、大部分のユースケースに不必要な程度の複雑さが追加されました。これを後で再導入する可能性があり、誰かがそれを必要とする場合は、お知らせください。
すべてのドキュメントは、製品のクラウドバージョン用に設計されていますが、自己ホスト版の詳細なドキュメントをまもなく追加します。自己ホストバージョンには関係のないカスタムドメインの支払い処理やSSL終了などのいくつかの機能を隠しています。
UI全体はApolloを使用してGraphQLを搭載しており、APIドキュメントは自動的に生成され、簡単にナビゲートされます。
私たちが尋ねるのは、あなたがプロジェクトが好きならGitHubでこれを主演または見ることです。これについても人々に共有してブログを書いてほしいです!すべての問題はGitHubで迅速に対応し、これが次にどこに行くのかを楽しみにしています。
| 著者 | github | |
|---|---|---|
| クリストファー・ベック | ||
| アレッサンドロ・バルザンティ |