1. SPEAKによる開発

SPEAKのご紹介

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

SPEAKは、Sitecoreアプリケーションを構築するためのフレームワークです。SPEAKは、「Sitecore Process Enablement & Accelerator Kit」の頭文字をとったものです。開発者はSitecore Rocksを使用してSPEAKアプリケーションを実装します(現在、SPEAKはWebサイトの構築をサポートしていません)。Sitecoreは、開発者がアプリケーションを実装するために必要なSPEAK互換コンポーネント、ビジュアル レイアウト、およびスタイルのライブラリを提供します。

SPEAKは、最新のブラウザー機能と標準 (特にHTML5とCSS3) を利用しており、クライアントでJavaScriptを多用しています。

SPEAKの主な目標は次のとおりです。

  • アプリケーション開発に合理的なアプローチを提供します。

  • UI要素の再利用を有効にします。

  • 一貫した外観と操作性を強化します。

SPEAKは、複数のページで構成されるアプリケーションの開始点と、単一ページのダイアログの開始点を開発者に提供します。

Sitecoreビジネスコンポーネントライブラリ

開発者はSPEAKコンポーネントを使用してアプリケーションを構築します (ページ上に表示可能なコンポーネントはコントロールとも呼ばれます)。開発者は、Sitecoreが提供するコンポーネントに限定されず、自分で作成することができます。

次の表は、Sitecoreビジネス コンポーネント ライブラリ (BCL) のコンポーネントのタイプの概要を示しています。

Group

Description

認証

アプリケーションユーザーのIDの検証に関連するコンポーネント。

グラフ

ビジネス グラフィックを表示するコンポーネント。

コモン

開発者がページを実装するために使用する単純なコントロールの大部分。

コンテナー

ページ上の他のコンポーネントをグループ化して整理するコンポーネント。

データ

クライアント上で実行しているときにサーバーからアプリケーションにデータを取得し、そのデータを他のコンポーネントで使用できるようにするコンポーネント。

ダイアログ

アプリケーションダイアログウィンドウを表示するために使用されるコンポーネント。

フォーム

エンドユーザーがアプリケーションにデータを提供するのを支援するコンポーネント。

リストとグリッド

同じタイプの複数のエンティティを表示するコンポーネント。

航法

アプリケーションのエンドユーザーがアプリケーションを構成するページ間を移動するのを支援するコンポーネント。

リソース

開発者が使用する特殊なアプリケーション機能を提供するコンポーネント。

検索とフィルタリング

アプリケーションに検索機能とフィルタリング機能を実装するコンポーネント (多くの場合、他のコンポーネントとの対話を通じて)。

構造

ページ上の要素の視覚的なレイアウトを定義するコンポーネント。

コンポーネントのプロパティ

コンポーネントのプロパティは、コンポーネントの外観と動作を指定します。たとえば、開発者は、あるプロパティでボタン コントロールによって表示されるテキストを指定し、エンド ユーザーが別のプロパティでコントロールをクリックしたときに呼び出すメソッドを指定します。

開発者は、アプリケーションを最初に構成するときにプロパティ値を静的に割り当てることも、JavaScriptでプログラムまたはデータ バインディングを使用して実行時に一部のプロパティに値を動的に割り当てることもできます。

アプリケーションの構成中に、開発者はコンポーネントに「直接」プロパティを設定することも、「構成アイテム」に「間接的に」プロパティを設定することもできます。

一部のプロパティでは、開発者は構成アイテムで間接的にプロパティを設定する必要があるか、設定する必要があります。開発者は、プロパティがアプリケーション ページ上の表示テキストを定義する場合や、構成アイテムを使用するとローカライズが可能になる場合など、プロパティを間接的に設定する必要があります。開発者は、たとえば、TabControlコントロールによって表示されるタブの一覧など、開発者が複数の値を定義する場合に、間接的にプロパティを設定する必要があります。

データ バインディング

データ バインディングは、コンポーネント間でデータを同期します。開発者は、データ バインディングを宣言的に構成するため、単純なデータ同期のコードを記述する必要はありません。

たとえば、アプリケーションでは、エンドユーザーが検索条件を提供するために使用するテキストボックスが表示される場合があります。開発者は、このテキスト ボックスをデータ取得コンポーネントの検索条件プロパティにデータ バインドできます。エンドユーザーがテキストボックスのテキストを変更すると、SPEAKはデータ取得コンポーネントの検索条件を自動的に更新し、次に、指定された検索語に一致するデータを取得します。開発者は、データ取得コンポーネントをデータ表示コンポーネントにバインドして、取得したデータを自動的に表示することもできます。

SPEAKアプリケーションへのロジックの追加

開発者は、いくつかの異なる方法でSPEAKダイアログまたはアプリケーションにロジックを追加します。

  • PageCodeコンポーネントとSubPageCodeコンポーネントは、開発者がJavaScript (フロントエンド) またはC# (サーバー側) で記述したコードを実行します。

  • フロントエンドのJavaScriptルールであるSPEAKルールを使用する。開発者は、Ruleコンポーネントを使用して、特定のトリガーイベントをリッスンします。イベントが発生すると、Ruleコンポーネントは関連付けられたルールを実行します。

  • Pipelineコンポーネントは、JavaScriptのクライアント側パイプラインとプロセッサを構成します。開発者は、イベントの結果として開始するようにパイプラインの実行を構成できます。

開発者は通常、SPEAKがイベントに応答して何らかのロジックを実行することを定義します。たとえば、Buttonコントロールなどの多くのコントロールには、Clickプロパティがあります。開発者は、エンドユーザーがこのプロパティでClickイベントをトリガーしたときのボタンの応答方法を構成します ( Buttonコントロールの場合、これはユーザーがボタンをクリックしたときに発生します)。

たとえば、エンドユーザーがボタンをクリックしたときにPageCodeコンポーネントコードでfindContactという関数を呼び出すには、開発者はClickプロパティに次の値を指定します。

javascript:app.findContact()

開発者がボタンのClickプロパティに次のコードを指定すると、SPEAKは というコンポーネントのhideイベントをトリガーしますVisitDialog

trigger:hide:VisitDialog

この記事を改善するための提案がある場合は、 お知らせください!