今までWindowsでウェブ関連の自動化をしたいときの定番と言えばIE+VBS/VBAでIEオブジェクトを操作するって感じだったが、そろそろEdgeネイティブ対応のシステムが出てきたり、IE捨てろ圧が各所で高まってきてたりしており、場面によってはEdgeでの自動化が必要となる場面が出てきているように思う。
残念ながらメモ帳でVBSを頑張って記述するだけで一応自動化できたIEとは違い、 Webdriver という仕組みを使うのがEdgeの場合の自動化手段となっている様だ。
アラフォーSEが自由に自分の業務周りや趣味周りの各種IT系技術情報を発信するブログ。何年も前:OSS色強め→ちょっと前:ServiceNow色強め→今後Powershell、AWS、VBA主になりそう
今までWindowsでウェブ関連の自動化をしたいときの定番と言えばIE+VBS/VBAでIEオブジェクトを操作するって感じだったが、そろそろEdgeネイティブ対応のシステムが出てきたり、IE捨てろ圧が各所で高まってきてたりしており、場面によってはEdgeでの自動化が必要となる場面が出てきているように思う。
残念ながらメモ帳でVBSを頑張って記述するだけで一応自動化できたIEとは違い、 Webdriver という仕組みを使うのがEdgeの場合の自動化手段となっている様だ。
Form context menu =フォーム画面の左上の「≡」マークのいわゆるハンバーガ―メニューから、adminであれば今見ているレコードの情報をxmlでエクスポート可能である。
以前紹介したデータベースビューの機能だが、どういうわけかSystem Definitionの配下のメニューとなっている。つまりデフォルトだとadminでないと使用できない。
まぁ定義の内容によってはかなりの負荷をかけてしまう可能性もあるのである程度絞るのはやむを得ないが、ユーザからのデータ抽出要望が多岐にわたってくると、正直一人で全部対応するのはつらくなってくる。
ある程度DBの知識や細かい集計が必要なユーザには公開してしまった方が良い場面もありそうなので、限定的に公開するようにしてみたい。
Servicenowには非常に多くの機能がデフォルトで備わっている。
基本的にフィルタナビゲータで検索して機能を使用するUIになっているが、一部のユーザからは「メニューが多すぎて訳が分からない!使う奴だけ出してくれ!」という様な要望を受けることがある。
以前に記載した通りjavascriptをテンプレートやテーブル定義におけるカラムのデフォルト値に使用可能で使いこなせばかなり便利になる。
リファレンスから使い方を毎回考えて適用するのは正直面倒なのでざっと簡単なものをコピペで使える様に列挙して行く。
+リファレンスではなくそのまま動く元ネタとして使える情報元の紹介。
さて長くなってしまったこのシリーズ。完成版としてやっといろいろな謎が解けて実装ができた。
前提知識については次の過去記事を参照願いたい。
①Servicenowのポータルでのナレッジ記事の表示順の謎
②Servicenowのポータルでのナレッジ記事の表示順をタイトル順にするためのカスタマイズ
③Servicenowの既存のテーブルにカラムを追加する
④Servicenowのポータルでのナレッジ記事の表示順を任意に指定できる様にするためのカスタマイズ(今のところ出来ませんでした)
本記事では、
①Servicenowのポータルでのナレッジ記事の表示順の謎
↑の内容を理解している事と、
②Servicenowのポータルでのナレッジ記事の表示順をタイトル順にするためのカスタマイズ③Servicenowの既存のテーブルにカラムを追加する
↑の設定を実行済みの環境を前提に、Servicenowのポータルでのナレッジ記事の表示順を任意に指定できる様にするためのカスタマイズを行いたい。
※本記事の検討内容では成功しませんでした。成功パターンは↓の追記をご覧ください。本記事自体は理解の一助となるかもしれないので一応残しておきます。
2020/10/20追記:Servicenowのポータルでのナレッジ記事の表示順を任意に指定できる様にするためのカスタマイズ(完成版)
基本的にOOTB(Out Of The Box)で=カスタマイズせずそのまま使って、業務を(ベストプラクティス基づいて設計されている)ツールに合わせるのが良いといわれるServicenow(というかパッケージの導入全般?)だが、そうはいっても経営上の管理項目だったりどうしてもカラムの追加が必要になるケースはままあると思われる。
デフォルトのカラムでちょうどよさそうなものが無ければ独自に定義して追加する事になる。
今回はちょっと前述の説明の趣旨とは異なるが、最終的にポータルでのナレッジ記事をカテゴリ内で表示させるときの順番を指定する(※1)ための下準備としてナレッジテーブルに順番を指定するためのデータを追加するという例で、カラムの追加方法を紹介する。
※1:なぜこのようなカスタマイズが必要なケースがあるかについては↓このあたりの記事を参照されたい。
Servicenowのポータルでのナレッジ記事の表示順の謎
Servicenowのポータルでのナレッジ記事の表示順をタイトル順にするためのカスタマイズ
テンプレート機能の使い方については↓以前のこのあたりの記事を参照。
さて時にテンプレートを使用していると動的な値を入れたくなることがある。
なぜか公式のドキュメントには丁寧な案内が見当たらないのだが、テンプレート内でJavascriptを使うことができる様になっている。
さてServicenowのポータルでのナレッジ記事の表示順がデフォルトでどのような状態かについては前回の記事を参照いただくとして今回はタイトル順に表示できる様カスタマイズを実施してみたい。
↑のコミュニティの記事を参考に進めてみたい。
まずカスタマイズが必要なウィジェットを特定する。
Servicenowにはユーザ向けのWebサイトを構築するポータルという機能がある。
その中でナレッジを階層構造で表示する機能があるのだが、ぱっと見は綺麗で便利そうなのだが日本企業の文化の中で活用するにはなかなか細かいところで厳しい面があったりする。
例えば次の画面でHow Toというカテゴリ配下のナレッジ記事を表示させているが、何順に並んでいるか、ぱっと分からない。というか謎である。記事タイトルの文字列順でもないし作成順でもないし、閲覧数順でも、有効期限の短い/長い順でもない。普段意識しているデータの中ではどれを見ても何順で並んでいるかわからず、知らないとかなり悩むことになる。
ServiceNowのデフォルト機能でテーブル毎にデータのエクスポートやレポート機能を使ったレポートの作成が可能だ。
しかし実際のレポートやデータのエクスポートにあたってはそれだけでは不足するシーンも多い。
通常のRDB等であればSQLでjoinやら where(※)やらやればよいところかもしれないが、ServiceNowではデータベースビューという機能が用意されている。
※筆者がSQLにそれほど詳しくないのでご了承ください。
ServiceNowのドキュメントは英語だがかなり充実しているといって良いと思う。
が正直いっぱいありすぎてなかなか探せないので個人的に使えるのをリストアップしておく。
※随時拡充予定。
Servicenowを使いこなすうえでデータのインポートは不可欠である。
が、デフォルト設定だとほぼ必ず躓く問題がある。文字列が40文字までしかインポートできないのだ。数えてみたところ全角半角問わずきっちり40文字までの様だ。
※制限を設けるのは分からないではないが、デフォルト40文字ってちょっと短くない?
このままでは各種の複数行テキストやナレッジの記事等のインポートにおいてはかなり致命的。このデフォルト動作は次の手順で変更できる。
基本的にServiceNowには個人情報を始めとして企業秘密に該当する情報が多数格納されることとなる。企業文化にもよると思われるがログインを求めるとは言えそもそもアクセスをさせたくないというケースは多いと思われる。
そんなときには送信元IPアドレスによるアクセス制御が必要となる。手順は次の通り。
ServiceNowを法人で本格的に使用する場合やはり本番環境を直接ゴリゴリ設定変更したり、直接本番環境で開発を行ったりというのは非現実的であろう。
通常本番環境と開発環境(+場合により品証≒テスト環境)の2から3面を用意し、開発環境でアップデートセットと呼ばれるものを作成し、それを本番環境へ移送するという流れになるだろう。
一方でデベロッパーインスタンスは原則一人1インスタンスしか取得できないため、アップデートセットの移送という運用は難しい。また、開発環境を用意した場合でもやはり移送するのに適正なアップデートセットを作成するためには、本番環境と全く同じ状態をベースに余計な手順を踏むことなく、設定変更やスクリプトの追加を行う必要があり、開発環境と言えどもなかなか気を使う。
そんな場合にお試し用のアップデートセットを作成し、設定変更を試し、お手軽に切り戻しができると便利なのでその手順を紹介したい。
テンプレートの使い方自体についてはこちらの記事を参照。
便利な機能ではあるのだが、テンプレートを使い始めてみると、必ずしもすべての項目がテンプレート化できるわけではないことに気づく。
例えばナレッジのテンプレートを作ろうとしても、↓の様にKnowledge Baseはそもそもテンプレート化対象の項目として指定できないのだ。
これにはセキュリティにかかわる設定を変更する必要がある。
ServicenowのインスタンスにはなぜかフィルタナビゲータのメニューからたどれないがURL直指定で行くと時に便利な機能がいくつかある。
しかし探し方が悪いだけかもしれないがなぜか公式には一覧が見当たらない。
分かっている範囲でメモしておきたい。
※随時拡張予定。
ヘルプデスク等でパソコンの問題の問い合わせ対応を行うようなときに、ユーザのITリテラシや双方のコミュニケーション能力等の問題でなかなか問題発生時の具体的な再現操作が分からないことがある。
そもそもユーザにあまり細かいところまで文書で送付する様に求めることが力関係的に難しかったりする場合もある。
また、ユーザの立場からしても正確に操作を伝える文章を書くのは手もかかるし面倒でもある。そんな時に操作を画面キャプチャ付きで自動記録してくれるツールが実はWindowsではデフォルトで用意されている。
Windowsキーかスタートボタンを押してアプリのメニューを開いた状態で「ステップ記録ツール」とインプットしてみると同名のアプリが表示されるので、起動してみよう。
スクリーンショットをブログに投稿する際、URLを隠す必要があるケースがあります。繰り返しスクリーンショットを撮る作業であれば、その都度ペイントなどでURLをマスクするのは手間ですよね。
ここでは、Google Chromeのアドレスバーを非表示にすることで、その手間を省く方法をご紹介します。
ServiceNowの便利な機能の一つとしてテンプレートがある。
テンプレートはレコードを作成するときにあらかじめ登録しておいた固定的な記入を何度でも呼び出せる機能である。
同一フォーマットで報告させたかったりナレッジ記事を作りたかったりするときに便利に使える。
ここではknowledgeの機能を例にまずは作り方から説明してみる。
ナビゲーションバーからknowledgeを検索。
ServiceNowのリスト画面でデータを一覧表示させている場合の1ページあたりに表示されるデフォルトの行数は20行になっている。
データが多く、操作にも慣れ、管理者的な立場で閲覧する場合、もっと一気に大量のデータを表示させたくなる。
100行までなら何でもよいのでリスト表示画面の左上ハンバーガーリスト(「≡」のメニュー)でShow → 行数の設定で可能。
それ以上に増やしたい場合は、
Servicenowの導入を成功させるキーポイントとしてよくOOTB(out-of-the-box)で使うことが重要と言われる。
ServiceNow自体はプラットフォームとしてアプリケーション開発基盤としても使えるわけだが、SaaSとしてベストプラクティスが組み込まれており、あまりカスタマイズをしてしまうと維持・メンテナンスが困難になるのと、もともとの機能に影響を与えてしまうことさえあるため、カスタマイズしないで使えるならそれに越したことはないだろう。
ServiceNowに限らず、パッケージ導入でカスタマイズ過剰になって失敗という話はもはや定説でもある。とはいえそうも行かないのが日本企業のあるあるではなかろうか。
カスタマイズするにせよOOTBで活用するにせよ、デフォルトのデータベース構造を理解することは非常に重要になってくるが、手引きがあまり見当たらない。
が、一方でテーブルの構造を見ればだいぶわかってくるところもあるので、まずは一覧で出力してみたい。
インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...