2011-10-27 1 views
0

はのは、私は以下の状態を持っているサイトコアのワークフローを持っているとしましょう:Sitecoreでは、ユーザーのワークボックス内の特定の状態を非表示にするにはどうすればいいですか?

  • ドラフト
  • 管理
  • によってレビュー
  • レビューレビュー
  • ITによって
を承認企業
  • ITグループのユーザーに、Workbに行くときに「ITによるレビュー」状態にあるアイテムのみを表示したい牛。今、私はこれを、他のすべての州への読取り許可を拒否することによって行っています。これは正常に動作します。 ITユーザーは、その状態にあるアイテムのみを表示します。

    しかし、これには興味深い副作用があります。 ITユーザーは、そのアイテムの履歴を表示するときに他の状態への読み取りアクセス権がないため、次のように表示されます。

    移動先は? 〜に? 10/27/11に 移動元? 10/27/11にITによるレビュー

    ユーザーには、読み取り権限がないため、他の状態の名前が表示されないようです。これは予想される動作ですか?ユーザーのワークボックスから状態を保持する他の方法はありますか?

  • 答えて

    1

    あなたがやってみることができるのは、Sitecore.Shell.Applications.Workbox.WorkboxHistoryXmlControlの実装をオーバーライドすることです。 \sitecore\shell\Applications\Workboxから\sitecore\shell\override

    1. コピーWorkboxHistory.xmlセキュリティディセーブラでそれをラップすることにより、Sitecore.Shell.Applications.Workbox.WorkboxHistoryXmlControlから継承したクラスを作成し、OnLoadを上書き:新しいへ

      protected override void OnLoad(EventArgs e) { using(new SecurityDisabler()) { base.OnLoad(e); }}

    2. 変更の参照を\sitecore\shell\override\WorkboxHistory.xml内の実装:

      ...inherits="Custom.Workbox.WorkboxHistoryXmlControl,Custom">

    私はそれをテストしていませんが動作するはずです。

  • +0

    修正をいただきありがとうございます。 –

    関連する問題