アニメ歴史と進化
タンツの起源: タンツのクリーチャーの攻撃の背後にあるロアを発見
Table of Contents
ダイレクトスについて
Directusは、任意のSQLデータベースの上に座っているオープンソースのヘッドレスCMSとデータプラットフォームで、即座に柔軟なAPIレイヤーと直感的な管理アプリを提供します。 従来のCMSとは異なり、データ構造を指示する、Directusは既存のデータベーススキーマを調べ、動的で完全にカスタマイズ可能なインターフェイスを生成します。 このアプローチにより、開発者やコンテンツチームは、厳格なコンテンツモデルにロックされていない、自分の条件でデータを操作することができます。 これはNode.jsとVuejsで構築されています。 これにより、企業やプロジェクトが非常に簡単にできる複雑なプロジェクトを計画することができます。
コアでは、Directus は「未愛のデータ」という概念を組み入れています。デフォルトスキーマ、マイグレーションシステム、または独自のファイルストレージを強制しません。代わりに、データベースの現在の状態を、空白のスキーマや既存の生産データベースから始めるかどうかを尊重します。この哲学は、段階的な採用のための理想的な仲間になり、チームは破壊的なオーバーホールなしで、従来のCMSシステムを組み込むことができます。
ダイレクトススタンドアウトする主な特徴
Directusは、コンテンツ管理を合理化し、アプリケーション開発を加速する機能の豊富なセットをパックします。その機能セットは、意図的にモジュール化され、必要な機能だけを使用する自由をチームに提供します。
- データベースファースト・アプローチ: ダイレクトスは、データを所有していません。既存のSQLデータベース(MySQL、PostgreSQL、SQLiteなど)に接続し、対応するAPIと管理パネルを自動的に生成します。つまり、データを完全に制御し、独自のマイグレーションツールを使用して、CMSを破らずにデータベースを直接照会することができます。
- 動的REST および GraphQL API: データベーステーブルが特定されるとすぐに、Directus は REST と GraphQL エンドポイントの両方を即座に作成します。これらの API は、細かいグラインドされたパーミッション、フィルタリング、ソート、パジネーション、および深いリレーショナルフェッチをサポートしています。 グラフQL API は、正確なデータクエリを必要とするフロントエンドアプリケーションにとって特に強力です。
- 高度にカスタマイズ可能な管理者アプリ: 管理パネルはVue.jsで構築され、完全にホワイトラベル可能です。ブランディングをカスタマイズしたり、ページレイアウトを変更したり、カスタムビューを作成したり、組み込みページを別注に追加したりできます。ロールベースのアクセス制御(RBAC)を使用すると、各ユーザロールがフィールドレベルまで表示および実行できるものを定義できます。
- 認証とセキュリティ: Directusは、ローカルメール/パスワード、Google、Facebook、Twitter、GitHub、およびSSOを含むオースプロバイダーをサポートしています。 また、ユーザー定義のロールに結びつく2要素認証、IPホワイトリスト、および包括的な権限システムも提供しています。
- ファイルおよびメディア管理: 汎用性の高いデジタルアセットマネージャーは、ファイルをアップロード、クロップ、および整理することができます。 オンザフライ画像変換を含みます。ローカルディスク、S3、または他のクラウドストレージアダプタにアセットを保存できます。 これは、車両検査写真やドライバー文書の何千ものを管理することができるフリートプラットフォームにとって不可欠です。
- 拡張機能: プラットフォームは、カスタムインターフェイス、ディスプレイ、レイアウト、パネル、ホック、エンドポイントをサポートしています。開発者は、npmパッケージとして拡張を公開したり、プロジェクト固有の状態を維持したりすることができます。このエコシステムは、物流、ヘルスケア、またはeコマースであっても、ダイレクトスエクスペリエンスをドメインに正確に調整することができます。
建築ディープ・ダイブ: ダイレクトス・ワークス
フードの下、Directus は API サーバー(「コア」)とデカップリングされたクライアント・サイドの管理者アプリで構成されます。どちらも、BSL および GPL ライセンスのオープンソースで、商用でサポートされているバージョンが利用できます。データベースでDirectus を指すと、テーブルと列を分析し、データの種類、関係、制約を検出し、各コレクションとフィールドを記述するメタデータレイヤーを生成します。このメタデータは、同じデータベース内のテーブルに格納され、独自のストレージが存在しないことを保証しません。
抽象的な層
データベースが検出されると、Directus はデータの仮想表現を作成します。テーブルを「コレクション」に名前を変更し、フィールドラベルと説明を調節できます。これにより、下層の SQL スキーマを変更することなく、すべてのフィールドラベルと説明を調整できます。この抽象化は、純粋に CMS 内での化粧品と機能です。データベースは、他のクライアントや SQL ツールから、非接触で完全に操作できます。フリートアプリケーションの場合、テレマティックスデータベースはリアルタイムのデータをそのまま保存し、 、 直接車両のドキュメントを直接管理するために、すべてのドライバーと 直接 ドライバーを 直接 ガイド に します。
API の生成とキャッシュ
Directus は、メタデータから OpenAPI と GraphQL スキーマを自動的に作成します。すべてのコレクションは、独自の REST エンドポイント (GET、POST、PATCH、DELETE) を、集計関数、リレーショナル 参加、および計算フィールドを含む SQL 操作を根本的に行なうためのクエリパラメータで取得します。このプラットフォームには、組み込みのキャッシュレイヤーと Redis のサポートが組み込まれており、大量の負荷下でも API 応答を高速に保つことができます。大量のレコードの何千ものクエリ 数千もの のフリート ダッシュボードの重要な機能です。
WebSocketsによるリアルタイムアップデート
ライブデータ更新を必要とするアプリケーションでは、Directus は WebSocket インターフェイスを提供しています。サブスクリプションはコレクションごとに設定できます。フロントエンド クライアントはデータ変更時に即時通知を受け取ることができます。車両の位置やステータスがダッシュボードにリアルタイムにプッシュされる必要があるフリートトラッキングシステムにとっては、このことは有意義です。
他のCMSプラットフォームと比較してDirectus
エコシステムでDirectusの場所を高く評価するために、共通の選択肢とそれを対照するのに役立ちます。
ダイレクト対. ストラップ
どちらもNode.js上に構築されたヘッドレスCMSですが、基本的違いはデータベース哲学にあります。 ストラップはデータベース構造を所有し、マイグレーションやスキーマの定義自体を処理します。 一方、Directusは、既存のデータベースをミラーリングします。 すでに数百のテーブルを備えた複雑なフリート管理データベースを持っている場合、そのスキーマを変更することなくCMSレイヤーを追加したい場合は、Directusは明確な選択です。 ストラップiのアプローチは、あなたがCMSモデルを定義できるようにするために喜んでいるスクラッチから始まるプロジェクトに適しています。
直接対ハスラ
Hasuraは、データベースを調べて、GraphQL APIを公開するGraphQLエンジンです。しかし、HasuraはCMSではありません。コンテンツエディタ用の専用の管理パネルが欠けています。DirectusはAPIとフル管理者インターフェイスの両方を提供し、RBAC、メディア管理、および柔軟なユーザーエクスペリエンスが完成します。日常の操作のための非デベロッパーユーザーインターフェイスを必要とするアプリケーションでは、フリートマネージャーの更新ドライバーのような、より実用的なレコードです。
ダイレクトス対WordPress(ヘッドレスCMSとして)
WordPressはREST APIを介してヘッドレスに使用できるが、独自のデータスキーマと「ポスト」コンセプトに縛られています。Directusはそのようなコンセプトを課すことなく、非コンテンツサイトにはるかに適応可能にします。プロジェクトが在庫管理、センサーデータ、または任意のカスタムエンティティティティティを管理する必要がある場合は、DirectusはWordPressの意見を述べた構造のオーバーヘッドなしでより自然なフィットを提供します。
リアルワールドフリート管理ユースケース
「フリート・ダイレクトス・記事」は、コンテンツ管理と運用データの交差点をよく見かけます。フリートは、テレメトリー、メンテナンスログ、ドライバー文書、保険記録、ルートの割り当て、コンプライアンスレポートなどの膨大な情報を集めています。ダイレクトスは、このすべてを管理するための統一されたデータ・プラットフォームとして機能することができます。
- 運転者および車のプロフィール: 車両の詳細情報、ドライバー認証、ライセンスの有効期限、および割り当てられたユニットをモデル化するためにDirectusを使用します。 管理者パネルは、ディスパッチャがステータスを更新し、検査写真をアップロードし、ホックを介してアラートをトリガーすることができます。
- 事件報告: 事件のカスタムコレクションは、タイムスタンプ、GPS座標、損傷説明、および画像の支持をキャプチャできます。 API では、モバイルアプリはレポートを直接送信することができ、管理者アプリはコンプライアンス役員のためのレビューインターフェイスとして機能することができます。
- 維持のシュレッダー: 車両にリンクしたメンテナンスコレクションを作成します。 ダイレクトスAPIをクエリするcronジョブまたは外部トリガーを設定して、サービスのために車両を識別し、責任あるチームに自動通知します。
- デジタル文書のリポジトリ: メディアマネージャーは契約、保険ポリシー、およびコンプライアンスの形態を整理します。 ダイレクトスの許可は、ドライバーが自分の文書にアクセスできる限り、監査人はより広範な読み取りアクセスを持っていることを保証します。
- リアルタイムダッシュボードの統合: Nuxt.js や Next.js などのフロントエンドライブラリで GraphQL API を組み合わせることで、マップ、最近のアラート、および主要なパフォーマンスメトリックに車両の位置を示すリアルタイムのフリートダッシュボードを作成できます。Directus の WebSocket サポートは、ページをリロードすることなくデータを新鮮に保ちます。
ダイレクトスは、運用データベースに直接座っているため、これらのユースケースは、データを別のCMSストアに複製したり、同期したりする必要はありません。これにより、複雑さと遅延が軽減され、時間感度の高いフリート操作に大きな利点が得られます。
開始: ダイレクトスプロジェクトの設定
直接インストールは数分で行うことができます。推奨される方法は、公式のCLIまたはDockerイメージを使用することです。プロトタイプをお探しのフリート企業にとって、DirectusとPostgreSQLコンテナを備えたDocker Composeセットアップは最速のパスです。
- Docker イメージを引っ張って下さい: 最新版の安定版を入手するには、[]を実行します。
- 作曲ファイルを作成する: ダイレクトスと希望するデータベースのサービスの定義。ADMIN EMAIL、ADMIN PASSWORD、SECRET、データベースの認証などの環境変数のマップ。
- Stackを起動します。 はコンテナーの両方から始まります。 直接は、データベース内の必要なシステムテーブルを作成する、最初の実行時に自動的に初期化されます。
- 管理者アプリにアクセス: に移動し、管理者資格情報でログインします。 空のキャンバスが表示されます。
- 既存のデータベースを接続します。 既にフリートデータベースをお持ちの場合は、DB *環境変数を更新することで、Directus を指す。再起動後、管理者パネルはすべてのテーブルをコレクションとして表示します。フィールドラベル、関係、権限の設定ができます。
ダイレクトスを拡張して、オペレーションに合った機能を実現
ダイレクトスの真の力は、その拡張性です。カスタムエクステンションは、コアをフォークすることなく、プラットフォームを特定のビジネスロジックに成形することができます。これは、ワークフローが頻繁に気象API、政府車両の規制、またはVINデコーダなどの外部サービスを含む、フリート管理において重要です。
カスタムインターフェイスとディスプレイの構築
インターフェイスはフィールドが編集される方法(例えば、日付ピッカー、GPS座標用のマップセレクタ)を定義します。 ディスプレイは、フィールドが読み取り専用のビューでレンダリングされる方法を制御します。 色のコードされたバッジを表示するカスタム「Vehicle Status」インターフェイス、または外部APIを呼び出してルートを視覚化する「Route Optimizer」ディスプレイを作成できます。 これらはVue.jsで構築され、拡張フォルダを介して登録されます。
Webhooks とイベントのホックを作成する
Directusは、アイテムの作成、更新、削除などのイベントでロジックをトリガーするホックシステムを提供します。例えば、新しいメンテナンスレコードが作成されると、ホックは、その車両に割り当てられたメカニックに自動的に通知を送ることができます。Webhookは、管理パネルからグローバルまたはコレクションごとに設定できます。これにより、Zapier、Slack、またはサーバーコードを記述することなくカスタムミドルウェアサービスとの統合が可能になります。
カスタム API エンドポイント
動的REST または GraphQL API が特定の必要性を覆い隠さないと、Directus サーバーにカスタムエンドポイントを追加できます。これらのエンドポイントは、データベース、認証コンテキスト、およびコアサービスに完全にアクセスできます。フリートアプリケーションは、日付範囲にわたって燃料消費量を集計し、複雑な SQL を結合することで、一般的な API クエリで容易に表現できないエンドポイントを実行します。拡張機能として追加することで、エンドポイントは公式 API の一部となり、認証および認証メカニズムのメリットが同じ値からなります。
敏感な艦隊データのためのDirectusの保証モデル
フレア管理には、機密性の高い個人データ(ドライバーライセンス、電話番号、場所)と機密ビジネス情報(契約、ルート)が含まれます。Directusの顆粒許可システムは、権限のあるユーザーが適切なデータにアクセスできるようにします。 「ドライバ」、「ディスパッチラー」、「マネージャー」、「監査人」などのロールを定義し、各コレクションおよび個々のフィールドに権限を割り当てます。 許可は、フィルタ式を使用して任意のビジネスルールに基づいて行うことができます。 ドライバーは、API の要求事項を割り当てる、または、追加のドライバーが、または、API にマッチするかどうかを識別します。
大量のデータに対するパフォーマンス最適化
艦隊データベースに何百万ものテレメトリーレコードが含まれている場合、性能はパラマウントになります。Directusを使用すると、データベースのインデックスを直接追加できます(スキーマを所有していないため)、APIはこれらのインデックスを使用してクエリを高速化します。このプラットフォームは、レート制限、アセットのCDN、およびNode.jsサーバーの水平スケーリングをサポートしています。レポート作成のために、データベース内の材料化されたビューを作成して、読み取るだけコレクションとしてそれらを登録することができます。直接アクセスは、事前調整されたデータを含まないため、事前調整されたデータを高速に転送します。
直接コミュニティと生態系
エクステンション、テーマ、青写真に貢献できるアクティブなオープンソースコミュニティからのダイレクトス特典。 GitHub ディスカッション ボードとボード ダイレクトス・ Discord サーバー 優れた場所から、フリートの実装ストーリーを把握したり、共有したりできます。コアチームは、徹底的に維持します。 ドキュメント プラットフォームのすべての側面をカバーします。, インストールからカスタム拡張開発. 企業のため, ダイレクトスクラウド 管理されたホスティングオプションを提供し、スケーリング、バックアップ、およびアップデートを処理するため、チームをインフラストラクチャの懸念から解放します。
フレアデータスタックの将来予測
ダイレクトスを選択すると、重要なフリート操作を独自のエコシステムにロックしないことを意味します。データが標準のSQLデータベースに存在するため、レポート、ETLプロセス、およびメタベースやパワーBIなどのBIツールと統合するためのSQLのフルパワーを保持します。 ダイレクトスから移行することに決めた場合、データモデルとすべての完全性はゼロベンダーロックインで、そのまま残します。 このデータベースファースト戦略は、車両のライフサイクル管理や、車両のライフサイクル管理、および車両管理などの機能が不可欠である場合に限られている長期にわたる要件と完全に整合します。