Looker 拡張フレームワークの概要

Looker 拡張フレームワークは、まもなく新しい読み込みメカニズムを使用します。新しい拡張機能では、既存の拡張機能が読み込まれたときにエラーが発生することがあります。Looker 環境で正式に有効化される前に、新しいローダで拡張機能をテストする方法については、Looker ヘルプセンターの新しい拡張機能フレームワーク ローダーのテストに関する記事をご覧ください。

Looker 拡張フレームワークは、次のようなカスタム JavaScript データ アプリケーションやツールを構築する際の労力と複雑さを大幅に軽減する開発フレームワークです。

  • 社内の社内プラットフォーム アプリケーション
  • 顧客向けの外部プラットフォーム(Looker のデータで構築された組み込み型分析アプリケーションの顧客ポータルなど)
  • 対象となる内部ツール
  • 外部アプリケーションに埋め込むアプリケーション

Looker Marketplace で現在利用できる Looker 拡張機能の例としては、Looker データ ディクショナリLookML 図があります。

拡張フレームワークを使用する理由

ウェブ アプリケーションの構築には、簡単で楽しい部分もあれば、明らかに時間がかかるうえに面白くない部分もあります。拡張フレームワークは、あまり複雑でないタスクの多くを効率化するのに役立ちます。

この拡張機能フレームワークでは、ウェブ アプリケーションの構築に関する面倒な作業の一部が解消されるため、すぐに開発を始めることができます。拡張フレームワークで作成されたカスタム アプリケーションとツールには、Looker 内からアクセスでき、次のような種類の機能を Looker で処理できます。

拡張フレームワークの機能

Looker 拡張フレームワークには次の機能が含まれます。

  • Looker の拡張機能 SDK: Looker の公開 API アクセスや Looker 環境内でのやり取りのための関数を提供します。
  • Looker コンポーネント: 拡張機能で使用可能な事前構築済みの React UI コンポーネントのライブラリ。
  • Embed SDK は、拡張機能、ダッシュボード、Look、Explore を埋め込むために使用できるライブラリです。サンプルコードについては、キッチンのシンク拡張機能をご覧ください。Embed SDK を使用して拡張機能をサードパーティ アプリに埋め込むこともできます。Explore、Look、ダッシュボードを拡張機能に埋め込む際は、ブラウザで Cookie を有効にする必要があります。
  • create-looker-extension ユーティリティ: 必要なすべての拡張機能ファイルと依存関係を含む基本的な拡張機能を作成し、ビルドの出発点として使用できます。
  • Looker の拡張機能フレームワークの例のリポジトリには、すぐに使用を開始するためのテンプレートとサンプル拡張機能が含まれています。
  • サードパーティの API エンドポイントにアクセスし、サードパーティのデータを拡張機能に追加する機能。
  • Looker 内で全画面表示の拡張機能を作成する機能。内部および外部のプラットフォーム アプリケーションで全画面表示の拡張機能が使用できます。

    全画面拡張機能では、拡張機能のみのユーザー グループにユーザーを追加することで、一連のユーザーが拡張機能から Looker の別の部分に移動されないようにすることができます。拡張機能の URL で /extensions/spartan に置き換えて、Looker のナビゲーション バーを削除することもできます。

  • 拡張機能のアクセスキーを設定して、ユーザーが拡張機能を実行するためにキーを入力する必要がある。拡張機能の料金を請求しつつ、拡張機能にアクセスできないユーザーがアクセスできないようにするには、標準の Looker 権限を使用します。

拡張フレームワークの要件

Looker 拡張フレームワークを使用して開発するには:

- インスタンスに対して LookML デベロッパーの権限が必要です。

Looker 内で実行するには、機能に関係なく、すべての拡張機能が Looker 内に次の要素を含める必要があります。

  project_name: "super_duper_extension"
  application: super_duper_extension {
    label: "Super Duper Extension"
    url: "http://localhost:8080/dist/bundle.js"
    entitlements: {
      local_storage: no
      navigation: no
      new_window: no
      new_window_external_urls: []
      use_form_submit: yes
      use_embeds: no
      use_downloads: no
      core_api_methods: []
      external_api_urls: []
      oauth2_urls: []
      scoped_user_attributes: []
      global_user_attributes: []
    }
  }

詳しくは、application パラメータのドキュメント ページをご覧ください。

Looker 拡張フレームワークを使用した開発を始める

最も簡単な方法は、テンプレートから新しいスターター拡張機能を生成し、そのスターターに機能を追加して追加することです。これにより、すべての構成とパッケージングが正しいことを確認できます。これは手動で行うのは容易ではありません。拡張機能の新しい Looker プロジェクトを作成してスターター拡張機能を生成する手順については、Looker 拡張機能の構築の概要ページをご覧ください。

より高度なテンプレートや高度なテンプレートについては、Looker 拡張フレームワークのサンプル リポジトリをご覧ください。このリポジトリにある拡張機能は、クローンの作成とプロジェクトの開始点として再利用できます。

シンプルな拡張機能を作成し、すべてが機能していることを確認したら、次のような機能とカスタマイズを追加できるようになります。

  • 一般的なユースケースのリストについては、Looker 拡張フレームワークのコード例のドキュメントをご覧ください。

  • コンポーネント ライブラリを使用して UI とレイアウトを迅速に開発するには、Looker UI コンポーネントのサイトをご覧ください。

  • Looker 拡張機能 Kitchensink Template は、さまざまな拡張機能の機能の例を提供する拡張機能です。このテンプレートは、百科事典やリファレンス ガイドとして使用できますが、出発点や実際のテンプレートとしては使用できません。開始するには、拡張機能生成ツールを使用するか、よりシンプルな例のクローンを作成することをおすすめします。