1. SPEAKとの開発

SPEAKの紹介

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

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

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

SPEAKは最新のブラウザ機能や標準、特にHTML5とCSS3を活用し、クライアント上でJavaScriptを広範に使用しています。

SPEAKの主な目標は以下の通りです:

  • アプリケーション開発に効率化されたアプローチを提供すること。
  • UI要素の再利用を有効にしてください。
  • 一貫した見た目と雰囲気を強制しましょう。

SPEAKは、複数のページからなるアプリケーションの開始点や、シングルページのダイアログの開始点を開発者に提供します。

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

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

以下の表は、Sitecoreビジネスコンポーネントライブラリ(BCL)内のコンポーネントの種類の概要を示しています。

グループ

概要

認証

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

チャート

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

共通

開発者がページを実装するために使うシンプルなコントロールの大部分です。

コンテナ

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

データ

クライアント上で動作する際にサーバーからアプリケーションへデータを取得し、そのデータを他のコンポーネントに利用できるようにするコンポーネントです。

対話

アプリケーションダイアログウィンドウを表示するコンポーネント。

形態

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

リストとグリッド

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

ナビゲーション

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

資料

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

検索とフィルタリング

アプリケーション内で検索およびフィルタリング機能を実装し、多くの場合、他のコンポーネントとの相互作用を通じて行われます。

構造物

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

コンポーネントの特性

コンポーネントのプロパティは、その見た目や動作を指定します。例えば、開発者はあるプロパティでボタンコントロールで表示されるテキストを指定し、別のプロパティではエンドユーザーがコントロールをクリックした際にどのメソッドを呼び出すかを指定します。

開発者はアプリケーションを最初に設定する際に静的にプロパティ値を割り当てる場合もあれば、実行時に動的にJavaScriptやデータバインディングを通じて一部のプロパティに値を割り当てることもあります。

アプリケーション設定時には、開発者はコンポーネント上で「直接」プロパティを設定するか、「構成項目」で「間接的に」設定できます。

一部のプロパティについては、開発者は設定項目内で間接的にプロパティを設定する必要があります。例えば、プロパティがアプリケーションページ上の可視テキストを定義する場合や、設定アイテムを使ってローカライズが可能な場合など、プロパティを間接的に設定すべきです。例えば、TabControlコントロールで表示されるタブのリストなど複数の値を定義する場合、開発者は間接的にプロパティを設定しなければなりません。

データバインディング

データバインディングはコンポーネント間でデータを同期させます。開発者はデータバインディングを宣言的に設定するため、単純なデータ同期のためのコードを書く必要がありません。

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

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

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

  • PageCodeおよびSubPageCodeコンポーネントは、開発者がJavaScript(フロントエンド)またはC#(サーバーサイド)で書いたコードを実行します。
  • フロントエンドのJavaScriptルールであるSPEAKルールを使用します。開発者は特定のトリガーイベントを聞くために ルール コンポーネントを使用します。イベントが発生すると、 ルール コンポーネントが関連するルールを実行します。
  • パイプラインコンポーネントはJavaScriptのクライアントサイドパイプラインとプロセッサを構成します。開発者はイベントの結果としてパイプライン実行を開始するように設定できます。

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

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

javascript

.findContact()

開発者がボタンのクリックプロパティで以下のコードを提供すれば、SPEAK VisitDialogというコンポーネントのhideイベントがトリガーされます:

trigger:hide

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