[Sitecore][tool]Sitecore Developer Tool

概要:Chromeのプラグインとして使用するSitecore Developer Toolの紹介です。 検証環境は次の通りです。 Sitecore Experience Platform 8.0 rev. 150812 (8.0 Update-5)   リンク: 1.Chromeプラグイン 2.サイトコアマーケットプレース このツールが2013年の末からリリースされていた以来私はほぼ毎日お世話になっております。 もしこれを使用していないのあら、是非試してください。   詳細はビデオの方を参照にしてください。 元気出せ!サイトコアジャパン!ツール:Sitecore Developer Tool Content Editor /sitecore/shell/Applications/Content editor.aspx Experience Editor /?sc_mode=edit Developer Center /sitecore/shell/default.aspx?xmlcontrol=IDE XPath Builder /sitecore/shell/default.aspx?xmlcontrol=IDE.XPath.Builder File Explorer /sitecore/shell/default.aspx?xmlcontrol=FileExplorer Kick User /sitecore/client/Applications/LicenseOptions/KickUser Show Config /sitecore/admin/showconfig.aspx Install Update Package /sitecore/admin/UpdateInstallationWizard.aspx      

ご無沙汰しております。

ご無沙汰しております。 随分ブログの方でサボって大変申し訳ございません! 四月を置きにずっとブログをできませんでした。 仕事の方が夏まで忙しくてまったく、ブログができず、 七月で妻の親戚が結婚することで、タイランドへ一か月行ってきました。 (おかけてサイトコアのブログを酔読していました。笑) アメリカに戻ってから、以前の同僚に誘われ、転職をしました。 主な理由はサイトオアショップと違って、それぞれのプロジェクトにリサーチの時間もっと得られます。それに、サイトコア8のみのサイトです。(ちょっと、これぞブログができるようと思った!!笑)転職をしました。一か月経って、仕事に慣れたところばかりです。 しかし、ブログをしていないのは実で、理由どうであれ、言い訳に過ぎない。その思いでブログを再開します。ただ、見た感じでどうも日本のサイトコアコミュニティーはアメリカと比べてかなり元気がないようです。そこで、フォーカスを変え、どうすれば日本のサイトコアコミュニティーに元気出せるのを考えました。 いろいろと考えた末、元気を出せる作戦として、ブログを書くことを止め、ビデオに切り替えます。なぜなら、百問一見知らず、動画で情報を共有した方がもっとわかりやすい。一つのブログを準備するにはそれなりに時間がかかるので、動画なら、もっと早くもっとたくさんの情報を提供するのではと思いました。 ということで 元気出せ!サイトコアジャパン! ビデオシリーズを作っていきます。  *私の下手な日本語、変な発音があるので、あらかじめご了承してくださいね。

Active Commerce について

概要:Active Commerce トレーニングを受けた感想。 Active CommerceからサイトコアMVP達に三日間のトレーニングを無料で提供していたのでそれに参加しました。今回はこのトレーニングにて学んだことを共有したいと思います。 Active Commerce を最初に聞いたのは2012年でしたが2013年にサイトコアユーザバーチャルサミットでNick Wesselmanさんのセッションを見たのは最後だった。あれ以来Commerce に関する関連作業に触れる機会がなかった。今回のトレーニング無料で提供していただけたので,決して見逃したくなかった。 Active Commerceと何かについて 公式な説明は”Active Commerce provides fully-integrated product catalog and e-commerce functionality for Sitecore”サイトコアのために完全に統合された製品カタログや電子商取引を提供する製品です。 もし、Active Commerceメインサイトのビデオを見れば一目瞭然です。英語だけど、非常にわかりやすくまとめています。個人的にActive Commerceはサイトコアを基づいた製品として開発されたという発想がすばらしいと思います。 トレーニングでの感触はActive Commerceはしっかりした製品という存在を実感します。Active Commerceを使用すれば、サイトを構築して市場投入する時間を極端に短縮することができます。Active Commerceの構造自体も柔軟でスキンという構造発想でCSSスタイルの変更は設定ファイルの変更だけでまったく新しいデザインに切り替えが可能です。 また、たくさん”out of the box”のディフォルトな機能が備えています。たとえば、製品の比較、スペック表、画像のズームイン、製品のカレーバリエーションなど、かつ、多くの設定はサイトコア内にて設定ができます。また、製品の表示に関する設定も多く容易され、さらに詳細な設定をしたい場合は設定ファイルにて調整可能です。また、サーチ機能をあちこち活用されて、たとえば製品のフィルタを設置するさいにサイト内の検索のユーザに親しいインターフェースが用意されています。 トレーニングについて トレーニングは三日にかけて、毎日やく6時間でした。かなり充実した内容で、非常に実戦的なものばっかりです。それぞれの参加者にバーチャックマシンが与えられ、コースに使用される内容の環境がすでに予め用意されていました。それぞれの課題の練習問題のコードも事前用意されています。Nick Wesselmanさんがそれぞれの参加者にチャートでサポートされていました。 もうひとつ特徴というかと思ったことは今では多くのサイトがレスポンシブなウェブデザイン移行しているにたいして、Active Commerceサーバサイトのコンポーネットを使用し、 RESS (Responsive design plus Server Side components)というシングルなコードベースでモバイルデバイス固有の最適化した表示をしています。 リファレンス もし、Active Commerceに興味を持っているなら、また、もっと詳しい情報を知りたい場合は是品このトレーニングを受けること勧めします。もし、トレーニングを受ける前にもうちょっと下読みをされたい場合は下記のようにActive Commerceに関するパブリックなリンクを纏めました。 ビデオ Sitecore Virtual User Group […]

[Sitecore]GetAncestorsとpaths.LongIDの比較

概要:現在のアイテムがコンテンツツリー上の位置を特定する際によく使用するGetAncestorsと paths.LongIDの比較 検証環境は次の通りです。 Sitecore 8   サイトを構築して行くうちによく現在のアイテムがコンテンツツリーの位置を特定する場合あります。よく使われるのはGetAncestorsまたpaths.LongIDとなります。同僚にどれが早いのかと聞かれ、いい質問だねと思って、比較をしてみました。 下準備 下記のサンプルアイテムを作成します。 GetAncestors サイトコアのコンテンツ API クックブックによりますと、GetAncestorsメソッドにて祖先にアクセスができると書かれています。 上記の例でLevelDアイテムの先祖をGetAncestorsで取得するとSitecore.Data.Items.Itemオブジェクト配列が返される Sitecore.Data.ItemPath.LongID 上記の例でLevelDアイテムのSitecore.Data.ItemPath.LongIDプロパティが Sitecore.Data.Items.ItemのオブジェクトIDの文字列を返されます。 コードの比較 さて、どちらか早いのかを知るにはコードを見てみましょう。両方のコードを見る限りでは両方とも、“Sitecore.Data.Managers.ItemManager” クラスを使用し、同じようなループが 使用されています。 検証 コードみるには同じようなループが使用していますが、返り値がオブジェクト配列に対して、文字配列を返す方が早いはずです。実際に検証してみましょう。。。下記のコードで同じ開始するアイテムから祖先にマッチするアイテムを見つけることをループに入れて、かかる時間を比較します。 その結果、Paths.LongIDの方がGetAncestorsより8倍も早かった。これは使用されるサーバーのリソース、メモリ、CPUなどにも影響されますが、ただ、Paths.LongIDの方早いのは間違いがないようです。。。 Test GetAncestors Paths.LongID 1 136ms 14ms 2 131ms 12ms 3 149ms 22ms 4 152ms 16ms 5 140ms 21ms 平均: 142ms 17ms GetAncestorsとItemPathを合わせてテストもしましたが、逆に20msほど遅かった。 if (startFrom.Axes.GetAncestors().Any(ancestor => ancestor.Paths.Path.Equals(“/sitecore/content/Home/Level A”)))   結論 Paths.LongIDの方が早いので、常にPaths.LongIDを使うべきとは、一括に言えません。確かにSitecore.Data.ItemPathクラスにあるメソッドの実行速度が速い、なぜなら、その返り値は “string” また […]

[Sitecore 8][Content Search][IFilter]IFilterを使ってサイトコアコンテンツ検索その三、Adobe Ifilter 9を使ってリファレンスフィールドにあるPDFファイルのコンテンツを検索

概要:AdobeIFilter9を使って、リファレンスフィールドにあるPDFファイルのコンテンツのインデックスをする手順を書きます。 検証環境は次の通りです。 Sitecore 8 Sitecore 7x   課題 前回ではAdobeIFilter9を使って、メディアファイルがインデックスすることを確認しました。 ただ、これはディフォルトでファイルがメディアライブラリにあります。特定のアイテムにてファイルファイルを使用する場合、そのファイルフィールドで指定しているPDFファイルのコンテンツをインデックスすることカスタムインデックスフィールドが必要になります。 今回その手順を書きます。 下準備 検証用にファイルフィールとを追加します。 手順 Sitecore.ContentSearch.Lucene.DefaultIndexConfiguration.configにて、_contentフィールドの抽出設定がありますそれをまねに独自のカスタムフィールドを定義して、PDFのコンテンツを抽出するのです。 1.独自のMediaItemIFilterTextExtractorを定義します。 2.必要な関数を追加 3.PDFのコンテンツを抽出するコードはこのクラスをライブラリよりコピーします。 Sitecore.ContentSearch.ComputedFields.MediaItemIFilterTextExtractor コートはそのままコピーすればいいですのであえてここで掲載しません。ただ、変更するのは一箇所です。メディアアイテムをする代わりに、ファイルフィールでしてしているメディアに切り替えることで、抽出したコンテンツをカスタムフィールドにてインディクスします。 4.クラスを追加した後、カスタムフィールドの定義をしましょう。 *この設定をパッチConfigとして、追加するのは普通です。また、パッチconfigのフィル名は”z”出始めましょう。その理由はイトコアはWeb.configファイルをアルファベット順にインクルードファイルを処理します。”z”でファイル名を始めれば別の.configにオーバーライドされなくでも済むからです。 今回、Sitecore.ContentSearch.Lucene.DefaultIndexConfigurationに直接追加することにします。追加する場所は二箇所です。 まず、抽出するメディアのタイプを有効、この場合はPDFです。 次に、カスタムフィールドを追加し、抽出するクラスを指定。   前回のAdobe Ifilter 9を使ってコンテントをインデックスの手順7に従います。 確認 ukeを使って、抽出したフィールド “mypdffilefield” にてPDFのコンテンツを確認。Lukeを使ってサイトコア8のLucenceインデックスの内容を確認する方法はこの記事を参考

[Sitecore 8][Content Search][IFilter]IFilterを使ってサイトコアコンテンツ検索 その二、Adobe Ifilter 9を使ってコンテントをインデックス

概要:AdobeIFilter9を使ってメディアのコンテンツのインデックスをする手順を書きます。 検証環境は次の通りです。 Sitecore 8 Sitecore 7x   必要なツール AdobeIFilter 9 SearchFilterView   下準備 1.インストールAdobeIFilter 9. zip file 解凍して、PDFFilter64installer.msiを実行 2.SearchFilterViewを解凍して、実行。AdobeIFilter 9がインストールされていることを確認。   設定 Adobe PDF iFilter 9 を使用するに当たって動作しないようとの記事がよく見かけます。 手動な設定が必要なので、ここにてまとめておきます。 1.Adobe PDF iFilter 9 を環境変数に追加。 Adobe PDF iFilter 9のパスを追加します。 %SystemRoot%\system32;%SystemRoot……………………………………..;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\; 2.PDFFilterライブラリC:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit […]

[Sitecore 8][Content Search][IFilter]IFilterを使ってサイトコアコンテンツ検索その一、概説

概要:IFilterを使ってサイトコアコンテンツ検索その一、概説の編。質問と答えの形式でサイトコアがIfilterを導入し、またIfilterの比較などを書いていきます 先日サイトコアKBにてAdobe IFilter 11 support for Sitecore Content Searchの記事がありました。基本的にSitecoreコンテンツ検索でAdobeIFilter バージョン11をサポートしていないので変わりにバージョン9を使うとことことです。私は以前PDF検索に関する作業があったので、私の経験をもとに三回を渡ってAdobe Ifilter使って感じたことまた、実際にセットアップの手順、そして、PDFファイルをメディアライブラリだけではなく、添付ファイルとして検索をする方法まで紹介していきたいです。 第一回として、質問と答えの形式でサイトコアがIfilterを導入し、またIfilterに関して書いていきます。 質問:そもそも、IFilter ってなに? 答え:  Windows でファイル検索を行う場合、それぞれのファイル形式に対応した IFilter を用意し、検索ソフトウェアでインデックスを作成する方法があります。IFilter により、HTML ファイルのようなテキストファイルはもちろん、Word ファイルのようなバイナリ形式のファイルについても、検索ソフトウェアから検索できるようになります。TET PDF IFilter は PDF に対応した IFilter で、PDF ファイルからテキストや XMP メタデータを抽出し、検索ソフトウェアで利用できるようにします。 質問:どのバージョンからIFilter が導入され、何のために使われているのですか? 答え: この記事によると Sitecore7にてComputed フィールドが導入され、メディアのコンテンツはこのComputed フィールドに抽出されます。これよれ、メディアのコンテンツまでインデックスすることがディフォルトで可能になりました。それまでに、独自のインデックスフィールを作成しなければなりませんでした。Ifilter使用というアプローチは設定を最小限にすることを狙っています。ただ、お客さんのフィードバックより、もっと柔軟な設定、つまり、必要とするものだけをインデックスするという要望を応じ、バージョン7.2以降はMIMEタイプ別の設定が可能になりました。 質問:何でAdobe IFilter が人気があるのですか? 答え: 無料だからです。。。 質問:Adobe の PDF IFilter 以外別の PDF Ifilterがないの? 答え: あります。メインで知られているのはこの二つです。 Foxit PDF IFilter PDFlib TET PDF Ifilte     […]

[Sitecore 8]サイトコア8日本語表示する手順のメモ書き

概要:サイトコア8の日本語表示する手順のメモ書きです。 下準備 英語版のサイトコア8をSitecore Experience Platform 8より取得し、インストールします。サイトが動作することを確認します。次に日本語翻訳のファイルを取得して、解凍します。 解凍したファイルはja-JP.xmlになります。 さて、日本語を使用する設定ファイルを有効にします。 Website\App_Config\Include\ja-JP.config.example .exampleを削除し、ja-JP.config へと名前を変更します。 日本語言語をインストール ディスクトップを選んで、coreデーターベースへ切り替えます。 言語のインポートを選び、先ほど解凍したja-JP.xmlをインポートします。 インポートが完了後、コントロールパネルにて環境設定にある地域および言語オプションを設定するを選び、日本語に切り替えます。 ブラウザを更新すれば日本語が表示されます。

[Sitecore][OMS][DMS][Analytics]サイトパフォーマンスのトラブルシューティングのために一時的にアナリティクスを無効にする

概要:サイトコアサイトのパフォーマンスのサイトコアサイトパフォーマンスのトラブルシューティングのために一時的にアナリティクスを無効にする設定に関する説明 検証環境は次の通りです。 Sitecore 5 Sitecore 6 Sitecore 7 Sitecore 8   きっかけ サイトがライブしてから、またライブする前にサイトのパフォーマンスに関するトラブルシューティングのテクニックとして、一時的にアナリティクスを無効にし、問題を特定することがあります。その際にアナリティクスを無効にする方法はいくつかがありますので、それを理解したいです。 アナリティクスを一時的に無効にする方法 もし、Googleで検索をかけると一時的にアナリティクスを無効にする方法のブログが沢山とあります。ただ、どれも基本的に下記の三つの方法になります。 site エレメントの enableAnalytics 属性を変更。 Sitecore.Analyticsプレフィックスのファイルの名前を変更し、コンフィグレーションを無効にする Sitecore.Analytics.config Analytics.Enabled と Analytics.DisableDatabase属性を変更   質問その1 上記の方法を使って、アナリティクスのデーターベースを監視するば、データー登録がとまっていることを確認することができます。これで本当にアナリティクスの機能を完全に止めているのですか?また、ディフォルトでenableAnalytics は有効になっているのですか?   質問その2 Sitecore.Analytics.config Analytics.Enabled と Analytics.DisableDatabase 属性ありますが、アナリティクスを完全無効にするには、Analytics.Enabledだけでいいのか、それとも、Analytics.DisableDatabaseも無効にする必要があるのか、また、バージョン8となって、 このAnalytics.DisableDatabase 属性自体が見えたりません。。。   質問その3 スタック・オーバーフローにてこの回答を見つけたのですが、Sitecore.Analyticsプレフィックスのファイルの名前を変更すればアナリティクスのコンフィグレーションがロードされないので、アナリティクスの機能を完全に停止意になるに違いないですが、サイトコアバージョン7.2迄はSitecore.Analyticsプレフィックスのファイル三つだけ、それはバージョン7.2となって、17のファイルがSitecore.Analyticsプレフィックスファイルがあります。それはバージョン8となって、20へと増えました。それぞれのファイルを全部手動で変更必要があるのですか?     さて、それぞれの方法と見ながら質問を楽しく解いてみましょう!! site エレメントの enableAnalytics 属性を変更。 Engagement Analytics 設定リファレンス ガイドによると、Web サイトごとに Engagement Analytics データのキャプチャを有効または無効にするには、web.config の適切な /configuration/sitecore/sites/site エレメントの enableAnalytics 属性を true または false […]

[Sitecore][Security][SSL]セキュリティで保護されたWebページ にて保護されていないビデオのコンテンツを使用する場合について

概要:セキュリティで保護されたWebページにて保護されていないビデオのコンテンツを使用する場合に関する質問と解決方法に関するメモ書きです。 検証環境は次の通りです。 Chrome Ver 39 FireFox Ver 34 IE 10   同僚からセキュリティ(ssl)で保護されてページにて他社のビデオのストリーミングができない言われ、その問題を調査した際に思ったことです。基本的にセキュリティで保護されたWebページにて保護されていないビデオのコンテンツを使用できなった。今回の場合はビデオのあるページにをSSLを使用しないことにしましたが、お客さんによって、セキュリティ(ssl)をページレベルでなく、サイト全体を保護された場合もよくあります。その際にこれは問題になります。これをきっかけて、ビデオコンテンツの使用について考えてみました。 お客さんにビデオのコンテンツを使用したいといわれた時にもしすでにYouTubeにてビデオのコンテンツを管理・使用している場合は、YouTubeを使用することを薦めます。なぜなら、HTMLでビデオを再生するための最も簡単な方法はブラウザの対応も他の方法と比べるとしっかりしています。Iframe、Objectまた、Embedで簡単にビデオコンテンツの挿入ができます。 ビデオコンテンツを使用する際に常に考慮されることは二つになります。 1.ビデオコンテンツの管理 2.ビデオコンテンツとサイトコアコンテンツとの提携 ビデオコンテンツの管理 ビデオコンテンツの管理について、自社で管理するかしないかになります。自社管理の場合サイトコアにて管理するお客さんと、ビデオファイルを特定のサーバに置き、ビデオコンテンツとしてリンクする場合もあります。また、他社のサービスを利用するお客さんとそれぞれです。自社でビデオのコンテンツを管理する利点のは今回のようにもしサイト全体がSSLとなっても、SSLの証明さえ取得すれば問題が解決できます。 自社で管理する場合はコンテンツのコントロールは100%ができ、複雑なビジネス要求に対応しやすい。また、ビデオコンテンツをサイトコアのコンテンツとの提携もしやすい。特にサイトコアで管理する場合、ビデオコンテンツの挿入など簡単にできます。その上、サイトコア7以降の検索機能は改善され、検索にすごく柔軟性を持ち、かつユーザーフレンドリーになっています。顧客のエンゲージメントの分析などの機能がそろえています。例えば人気のあるビデオとか、顧客別にコンテンツの提供とか簡単にできます。顧客エンゲージメントの話を始めたらまったく別のトピックになりますのでここでやめます。(笑) この理由で可能であはれば、ビデオのコンテンツを自社でサイトコアにて管理することを薦めます。 ビデオコンテンツとサイトコアコンテンツとの提携 自社でサイトコアにてビデオコンテンツの管理をする場合はサイトコアコンテンツの提携が非常にやすくなります。例えば、新しいビデオのコンテンツが追加された際にイベントで管理するサイトコアコンテンツを更新したり、また、ビデオコンテンツを作成する際にサイトコアの多くの既存の機能を利用することができます。例えばタブを利用して、追加されたビデオコンテンツを関連するページで表示されたりすることが簡単にできます。 他社のサービスを使用することもそれなりの利点があります。特にビデオのコンテンツの管理などしなくでもすむのでコスト削減ができます。サイトコアのコンテンツにて必要なビデオのリンクを挿入すればいいですが、今回のSSLの問題で他社のサービスから有効な証明がホストするサーバーにて提供されれば済むのはなし。 このほか、特定のビデオのテンプレートを作成し、スタムなタスクで定期的に他社のサービスよりビデオのフィードを取得し、ビデオコンテンツのリンクを含むアイテムをサイトコア内に管理することで、ビデオのコンテンツをサイトコアで管理をしているあったかのようにすれば、サイトコアの検索機能また顧客のエンゲージメントの分析などの機能の活用ができます。 結論 サイトコア7からサイトコアの検索機能が改善され、とくにバケットもデフォルトとなったので莫大なデータの管理がもっと有効に管理ができるようになりました。 ビデオコンテンツをサイトコアにて管理するのは簡単かつ、サイトコアの既存の機能をもっと利用することができます。サイトコア8でとなって、データの収集、エンゲージメントの分析そしてレポートの機能が一段と改善され、ビデオコンテンツ別のレポートなどマーケティングの方に好まれるに違いない。 番外編 参考にブラウザによって動作が変わるので、日本語のスタックオーバーフローにて質問をしました。また納得する回答を待っています。