[Sitecore][Version]以前のバージョンへ戻る

サポートの同僚から、お客さんがアイテムをロックすると、新しいバージョンが作られるので、多数のバージョンから、特定のバージョンへ戻りたいけどどうしたらいいといわれた。 “あなたはどう思うの?” “順番にバージョンを削除してたらどう?” “確かに…” “もし、100以上のバージョンがあって、最初のバージョンへ戻りたいときどうするの?” “…” 削除せず、パブリッシュセクションの機能を使ってほしかった。 “戻りたいバージョンをもとに新しいバージョンを作ればいいじゃないの”と聞いたら”なるほど”と納得したようです。戻りたいバージョンへ戻って、追加で、選択したバージョンをもとに新しいバージョンが作られます。

[Sitecore] [Marketplace] サイトコア サポートツールボックスモジュールを試してみる

今日はサイトコアサポートツールボックスを紹介したいと思います。サイトコアの作業をして、自分なりのツールもいくつかを作って、サイトをリリースした後、手軽く使ったりしたいました。主に、インティックスの構築、テンプレートの変更など、サイトコアからサポートツールボックスモジュールをマーケットプレースであったことはをブログで見ましたが、仕事が忙しくてなかなか試してみる機会がなかった、昨日それをダウンロードしてみたら、これは便利だねと思って、ここで簡単に紹介します。 1.ダウンロード( ここからダウンロードができます。) 2.インストール     圧縮のファイルを解凍して、\Website\sitecore\admin\へコピーします。   3.フォントエンドで Adminのパスをして、一覧が表示されます。 例えば、http://local.sandbox.com/sitecore/admin 4.サイトコアページ これは通常よく使うページのショットカットって感じです。 5.ツールボックスページ サーチ ネイティブサーチ Lucene サーチ インデックスを再構築 ジェネレータ アイテムジェネレータ メディアジェネレーター  Miscellanous セキュリティツール   パッケージアイテム SQL Shell ユーザー·プロファイル Job Viewer アドメインページは以前から既存していたものです。 cache.aspx,  stats.aspx パフォーマンスチューニングでよく使います。 dbbrowser.aspx アイテムまたデータベースシリアルにし、ファイルにします。これを使って、違うデータベースのアイテムのコンベアする際に使ったことがある serialization.aspx 手軽く、違うデータベースのアイテムをコンベアする際に便利。 UpdateInstallationWizard.aspx 昔、サイトコア5.xの際によくこれを使いました。(笑)

[Sitecore][Site Performance]サイトの速度チェックタスク

サイトの速度チェックタスとの話をしたい。速度チェックはサイト公開する前と後に行います。  まず、サイトを公開する前に行うページのロードテストをします。ページロードのテストするトールはたくさんあります。私はよく使うのはFirebugです。理由は手軽く使えるからです。 言うまでもなく、CMSのパフォーマンス·チューニング·ガイドをもとに、キャッシュのサイズの調整するcache.aspx一覧 公開後もしくは、外からアクセスができると、下記のツールを使ってテストをします。 1.ユーザ数のロードテスト これまでにいろいろなツールを使ってきましたが一番お気に入りはこのロードインパクト(http://loadimpact.com/)です。無料なバージョンを使っています。これにて、サイトへリクエストするユーザ数を仮定したテストが可能です。私はユーザー数100で、ページのロードタイムがユーザー数の増加にかかわらず安定しているならばOKとします。 2.ページリクエストのロードテスト ページのリクエストのロードには、http://www.webpagetest.org/ を使っています。無料なバージョンを使っています。 私なりの使い方を説明します。たとえばサイトコアジャパンを例とします。まず、ホームページをテストします。 注意するのはこの“First Byte” 最初のバイトまでの時間は、使っているブラウザがWebサーバに接続すると、ブラウザは、ステップ数を実行する必要があります。それはDNSルックアップ、初期接続、待つ時間、そして、データを受信する時間となります。これをいかに短くするのは重要です。このテストの場合は0.457sだと早い方です。ページによってその差が出てきます。他社のツールを含むページや、検索のペーになどになると、この最初のバイトが増えるわけです。たとえば、同じサイトコアジャパンで検索でSitecoreをかけると1.67sがかかります。 2秒以下のロードタイムは早い方だと思います。ただ、それぞれサイトが扱うデータのようにもよりますが、3秒以上かかると何らかの対策が必要かと思います。普段、私は下記の順でテストをします。 1.ホームページ とセクションのランディングページここはよく他社のツールが使うので、時間がかかるコントロールをUpdatepanelを使って同期で更新したり、キャッシュを使ったりして速度を上げます。 2.インナーページ ここはサイトコアのキャッシュ設定で十分です。 3.サーチのリスティングページ ここはいつも頭が痛くなるところです。たとえば、ブログのランティングページでよく見かけるドロップダウンコントロールがあります。カテゴリ、作者、トピック、もしくは地域。ユーザに以下に早く検索したいコンテントをヒットするため、それぞれのドロップダウンに表示されるアイテムはかならず既存のアイテムに使用されているものでなければなりません。普段の手順はカテゴリのリストを取得、そして、それぞれのカテゴリが必ず最低一つのコンテントアイテムが使用していることを確認し、ドロップダウンコントロールに追加します。データ量によってこれは時間がかかります。サイトことでキャッシュを設定しても、検索が時間が掛かってしますので、別のキャッシュが必要になります。 お客さんによって、カテゴリって滅多に変わらないので、.net のキャッシュを使ってこれらのドロップダウンコントロールをキャッシュします。毎晩アプリケーションプールのリサイクルで更新をする。もっと頻繁に更新をしたいなら、キャッシュをカスタムのデーターベースにて設定し、新しいカテゴリが追加されると、デーだベースのキャッシュを更新します。フロントエンドユのドロップダウンコントロールは検索をせず、デーだーベースのキャッシュより取得。その違いは、.netのキャッシュのコード追加は、一時間も掛からないに対して、データーベースでの更新は、コードだけではなく、もし、既存のカスタムデーターベースをないなら、もっと時間が掛かります。ただ、柔軟性から、カスタムデーターベースのほうが私は好みます。.netのキャッシュを使用する場合は設定ファイルでその更新時間を設定するようにしています。データーベースでキャッシュを使用する場合は、スケジュールタスで更新しでもいいで、特定のアイテムにて保存時のイベント(item:saved)を使って更新しでもいい。お客さんがどれほど頻繁に更新したいのよって設定すればいい。      

[Sitecore][Log Error] Insufficient memory available in the buffer pool

Version: Sitecore.NET 6.6.0 (rev. 130214) Tag: deadlock, SqlException, Related Error Messages: There is insufficient memory available in the buffer pool. ManagedPoolThread #19 00:30:14 ERROR Could not update index entry これまでの仕事の経験で、お客さんから時よりブラウザからタイムアウトされてしまう時がある。ログファイルをみるとSystem.Data.SqlClient.SqlExceptionに関連したエラーの場合は多いです。特に何あらかのdeadlockedとかがあると、データベースのが必要になります。この問題に出会った時にいつも下記の作業をします。 1.下記のテーブルを確認して、必要によってクリーニングします。 History, PublishQueue, EventQueue and Links table [css] DECLARE @DBList VARCHAR(MAX) SELECT @DBList = COALESCE(@DBList+’,’ ,”) + Name FROM master.dbo.sysdatabases WHERE [name] LIKE ‘%sandbox%’ print […]

[Sitecore][Tool]SnakeTail

SnakeTailって何? SnakeTailはログファイルを監視するためのWindowsユーティリティです。私はもともとUNIXでの開発をしていたので、tailは私のお気に入りのコマンドです。Windowsとなってからこの機能がほしくていくつらのツールを使ってきました。過去の二年間でずっとこのSnakeTailを使っています。 なぜこのツールの話をすると、サイトコアのログファイルを監視するにはこのツールを使えばかなり便利です。 インストーラーのバージョンとZIPファイルのバージョンがあるので、お客さんのサーバー上でインストールーで着ない時にZIPバージョンを使えばいい。 私はログファイルをこれ開くように設定しています。 好きなキーワードの設定ができるので、エラーが発生するのを一目瞭然 またショットカットでハイライトして位置へのナビゲーションが非常に便利です。通常私はERRORのみハイライトしています。 更新(2014.08.12):このブログでPowerShell を使ってをログファイルを監視することを紹介しています。 http://sitecoresandbox.com/2014/08/12/monitoring-a-sitecore-package-install-in-real-time/comment-page-1/#comment-219

[Sitecore][Import][Tool]Firstobject XML エディター

Firstobject’s free XML editorって何? 私はよくインポートの作業がしますので、その際にデーターがXMLで渡されることがあります。このエディター(foxe)は高速大きなファイル(マルチメガバイト)をロードし、XMLとHTMLの編集ができるのでよくつかっています。たとえばお客さんから貰ったフォーマットしていないXMLの場合、簡単にフォーマットすることができます。 また、ツリービューでデータをみやすくなります。 特定のノードの合計が知りたいなら簡単にみることができます。 検索をかけて、見つけたデータがツリービューで見たい時に簡単にパスを提供してくれます。

[Sitecore][RSS][RSS FEED]カスタムRSSフィードを作成する

かなり、遅いですけど・・・あけましておめでとうございます.2013年は私とってかなり忙しい年だった。ブログの方は昨年後半はほどんと書き機会がなかった。2014年こそ、ブログとメモ書きをもっと書きように頑張ります。 今日はRSSフィードの話をします。RSSフィードかなり古い話になりますがサイトコアバージョン5の時別のディバイスレイアウトを使っていました。バージョン6からそれが簡単に作れるようになりました。今回、その拡張性を使って、サーチの機能を再利用してフェードをの抽出を紹介したいです。なぜなら、これまでに作ったサイトで基本的にサイトコア標準のRSSフィードで十分だったが、ただサイトが大きくなると、RSSフィードを使う場所がもっと柔軟てあるように要求されます。ここで必要クエリーを収集します。 作者   作者ランティング blog/blogauthor/   最新の作者   人気の作者    作者リスティング   チャンル別リストblog/blogauthor/sort=chanel   性別別リストblog/blogauthor/sort=gender   。。。 カテゴリ  カテゴランティング blog/category/   最新のカテゴリ   人気のカテゴリ  カテゴリリスティング    日付の順リストソートblog/category/sort=date    コメントの順リストソート トピック  トピックランティング   最新のトピック   人気のトピック  トピックリスティング    日付の順リストソート    コメントの順リストソート 編集者はそれぞれの場所にてRSSフィードを置きたいので、それぞれのアイテムにてRSSの設定するより、リクエストのクエリを使ってフィードを同じサーチの機能を再利用して抽出したい。  *今回RSSの設定のみを書きますので、サーチに関して別のブログを書きます。 さて、一通りやってみましょう。 1. RSSフィードアイテム追加 2.RSSフィードサブレアウトを追加 3.テストページを作成 4. このサブレイアウトを必要なところにおけばこのrssのアイコンをクリックで必要なクエリを追加すればいいそして、カスタムのクラスでそのクエリを流用すればいいです。 サンプルコードはこちら: RssFeed.ascx [css]using System; using Sitecore.Configuration; using Sitecore.Data; using Sitecore.Data.Items; using Sitecore.Links; namespace local.sandbox.com.Website.layouts.Rssfeed { /// <summary> /// Summary description […]

[Sitecore][Error Message]read past EOF – Lucene.Net

問題: [css] ManagedPoolThread #19 00:30:14 ERROR Could not update index entry. Action: ‘RemovedVersion’, Item: ‘{…}’ Exception: System.IO.IOException Message: read past EOF Source: Lucene.Net at Lucene.Net.Index.IndexFileDeleter..ctor(Directory directory, IndexDeletionPolicy policy, SegmentInfos segmentInfos, StreamWriter infoStream, DocumentsWriter docWriter, Dictionary`2 synced) at Lucene.Net.Index.DirectoryReader.DoCommit(IDictionary`2 commitUserData) at Lucene.Net.Index.IndexReader.Commit(IDictionary`2 commitUserData) at Lucene.Net.Index.IndexReader.Commit() at Lucene.Net.Index.IndexReader.DecRef() at Lucene.Net.Index.IndexReader.Close() at Sitecore.Search.Crawlers.DatabaseCrawler.Provider_OnRemoveVersion(Object sender, EventArgs e) at System.EventHandler.Invoke(Object […]

[Sitecore]サイトコア互換性

 最新の互換性テーブルはここです。 サイトコアの互換性に関してよく質問されるので、自分なりにそれぞれのリリースの後、その互換性をまとめていました。 今日SDNで見たらその一覧表があったのは知らなかった… 英語だけど日本語の対応版があるこも。以上参考までに… http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/Installation/CMS%20compatibility.aspx http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/Installation/Modules%20Compatibility.aspxモジュールの互換性の一覧はこちら CMS 6.0 CMS 6.1 CMS 6.2 CMS 6.3 CMS 6.4 CMS 6.5 CMS 6.6 CMS 7.0 CMS 7.1 CMS 7.2 Sitecore Azure [8] Sitecore Azure 1.0.0-1.0.1 – – – ✓ – – – – – – Sitecore Azure 1.0.2-1.0.3 – – – ✓ ✓ – – – – – Sitecore […]

[Sitecore][Navigation]知ると便利@ナビゲーションの編

サイトコアを学ぶにはそれぞれの人はそれぞれの方法があります。とりあえずダウンロードして使う人、マニュアルを読みまくってから始める人、そして、両者を同時にする人とそれぞれです。 今日は知ると便利なナビゲーション操作を三つ書きたいです。こんな簡単なことをかっく必要はないよと思う方もいると思いますが、案外これらの機能をお客さんに知られていない場合は多い。  “戻る” サイトの開発において、テンプレートのフィールド値を探したり、レイアウト,サブレアウトの設定を見たりすると、先ほといた場所へ戻りたいけど、ブラウザの戻るはサイトコアのログイン場面に戻ってしまいます。その時”移動”-> ”戻る”使えば便利です。 “リンク” サブレイアウトにリンクしているアイテムを探すにはサブレイアウトを選択し、移動のリンクにて見つけることができます。 面白いことであるお客さんから、特定のサブレイアウトを使っているアイテムを探すには、そのサブレイアウトを削除しようとすれば、下記の画面があがっているので、もしリンクしているアイテムがあればそれにて削除すればいいと言われた移動のリンクにて見つけることができます。         ”フィールドを見つける” アイテムによってフィールドの数も違ってきます。コンテンツのページでタイトルとコンテンツと二つの フィールドだけのアイテムがあれば、テンプレートの継続で数多くのフィルドを含む場合もあります。 その際に手軽くあるフィールドへ移動するにはセクションとフィールドへの移動が便利です。