ナレッジベースの作成
ServiceNowにはユーザ間でコンテンツを保存、共有、および管理するためのセルフサービスプラットフォームが用意されているとのことで、早速設定してみた。
新製品HandHeld Holographicsの情報を、サービスデスクのメンバーもしくはHHD社の従業員に共有するためのナレッジベースを用意するというシナリオで構築してみる。
右上の歯車からSystem Settingを開き、ApplicationがGlobalであることと"Show application picker in header"が有効であることを確認する。
その後、[Knowledge]->[Administrarion]->[Knowledge Bases]を選択し、[New]ボタンを押します。
オーナーや管理者の設定と併せて、パブリッシュとリトライのワークフローを指定する必要があります。ワークフローについては一旦はデフォルトに設定されたもの(ベースライン)を利用するようにしております。ここではPublish Workflowを"Knowledge - Approval Publish"にしておりますが、この後変更します。
設定が完了したら、下部の"Can Read"タブで、Admin、グループがService Desk、会社がHHDという3種類のユーザ基準を作成します。
最終的に"Can Read"タブは以下のような設定になります。
ナレッジのカテゴリーも指定することが可能です。下部の"Knowledge Categories"タブで設定が可能です。
早速記事を1つ作ってみましょう。下部の"Knowledge"タブで[New]ボタンを押し、必要な情報を追加します。"Valid to"で記事の有効期間を指定することが可能です。
Categoryについてもともと作成していたものの配下に新たなカテゴリーを作成することも可能です。
公開用ワークフローの作成
先ほど指定したワークフローをカスタマイズします。ワークフローエディターというツールを利用します。
新製品HandHeld Holographicsの情報について、公開される記事のカテゴリーに基づいて、"Valid to"に投入する記事の有効期間を変更するというワークフローを作成し、先ほど作成したナレッジベースに反映させることを考えます。具体的には…
・Policyカテゴリーの記事は1年間(365日)有効
・Supportカテゴリーの記事は半年間(182日)有効
・それ以外のカテゴリーの記事は半年間(182日)有効
という風にします。
adminの状態で[Workflow]->[Workflow Editer]を選択し、設定されているワークフローの一覧を表示します。
デフォルトで設定した"Knowledge - Approval Publish"を選択し、早速コピーをしましょう。名前も"Knowledge - HHD Approval Publish"に変更します。
今回のワークフローで変更すべき点は、Approval UserがReviewし、Workflowとして公開すまでの間になります。そこでCategoryフィールドを確認して、それぞれの条件にswitchさせる設定が必要です。まずはSwitchアクティビティを実装します。
そして各条件ごとに右クリックの"Link to..."設定を行うようにします。
Switchはあくまでも条件を記載するのみで、実際に処理(今回は"Valid to"フィールドを)
調べるとServiceNowが標準的に搭載しているAPIであるGlideSystemで、DaysAgo()という日付指定をするのに便利なAPIがある。
https://developer.servicenow.com/app.do#!/api_doc?v=madrid&id=r_GS-daysAgo_N
Link to..で追加したもののConditionの設定は以下の通り。
[Policy]
current.kb_category.getDisplayValue()=="Policy"
[Support]
current.kb_category.getDisplayValue()=="Support"
[All other Category]
current.kb_category.getDisplayValue()!="Policy" && current.kb_category.getDisplayValue()!="Support"
同様にSet Valueアクティビティを2種類作成し、Valuesに以下の設定を投入します。
[Set Valid to 1 year from Publication]
Set Value 日付の代わりにjavascript:gs.DaysAgo(-365)
[Set Valid to 6 months from Publication]
Set Value 日付の代わりにjavascript:gs.DaysAgo(-182)
各分岐をそれぞれつないで、以下のように作成したら、画面右上のValidateを起動します。
これで準備完了です。必ずpublishすることを忘れないようにしましょう。
そして最後に、[Knowledge]->[Administrarion]->[Knowledge Bases]で設定したナレッジベースの設定を編集し、Publish Workflowを"Knowledge - HDD Approval Publish"に変更しましょう。