2020年11月27日金曜日

Edge(Chromium版)でGUI操作を自動化する方法を探る(執筆途中:参考資料)

今までWindowsでウェブ関連の自動化をしたいときの定番と言えばIE+VBS/VBAでIEオブジェクトを操作するって感じだったが、そろそろEdgeネイティブ対応のシステムが出てきたり、IE捨てろ圧が各所で高まってきてたりしており、場面によってはEdgeでの自動化が必要となる場面が出てきているように思う。

残念ながらメモ帳でVBSを頑張って記述するだけで一応自動化できたIEとは違い、 Webdriver という仕組みを使うのがEdgeの場合の自動化手段となっている様だ。

2020年11月14日土曜日

フォームコンテキストメニューからレコード毎のXMLによるエクスポートをadmin以外のユーザに許可する

Form context menu =フォーム画面の左上の「≡」マークのいわゆるハンバーガ―メニューから、adminであれば今見ているレコードの情報をxmlでエクスポート可能である。

2020年11月13日金曜日

データベースビューの機能を特定のユーザにだけ使用可能にする

以前紹介したデータベースビューの機能だが、どういうわけかSystem Definitionの配下のメニューとなっている。つまりデフォルトだとadminでないと使用できない。

まぁ定義の内容によってはかなりの負荷をかけてしまう可能性もあるのである程度絞るのはやむを得ないが、ユーザからのデータ抽出要望が多岐にわたってくると、正直一人で全部対応するのはつらくなってくる。

ある程度DBの知識や細かい集計が必要なユーザには公開してしまった方が良い場面もありそうなので、限定的に公開するようにしてみたい。

フィルタナビゲータのメニューを制御する

Servicenowには非常に多くの機能がデフォルトで備わっている。

基本的にフィルタナビゲータで検索して機能を使用するUIになっているが、一部のユーザからは「メニューが多すぎて訳が分からない!使う奴だけ出してくれ!」という様な要望を受けることがある。

2020年11月2日月曜日

Servicenowのテンプレートやテーブルのデフォルト値定義に使えるJavascriptリスト

以前に記載した通りjavascriptをテンプレートやテーブル定義におけるカラムのデフォルト値に使用可能で使いこなせばかなり便利になる。

リファレンスから使い方を毎回考えて適用するのは正直面倒なのでざっと簡単なものをコピペで使える様に列挙して行く。

+リファレンスではなくそのまま動く元ネタとして使える情報元の紹介。

2020年10月20日火曜日

2020年10月19日月曜日

2020年10月18日日曜日

Servicenowのポータルでのナレッジ記事の表示順を任意に指定できる様にするためのカスタマイズ(今のところ出来ませんでした)

本記事では、
Servicenowのポータルでのナレッジ記事の表示順の謎
↑の内容を理解している事と、
Servicenowのポータルでのナレッジ記事の表示順をタイトル順にするためのカスタマイズServicenowの既存のテーブルにカラムを追加する
↑の設定を実行済みの環境を前提に、Servicenowのポータルでのナレッジ記事の表示順を任意に指定できる様にするためのカスタマイズを行いたい。

※本記事の検討内容では成功しませんでした。成功パターンは↓の追記をご覧ください。本記事自体は理解の一助となるかもしれないので一応残しておきます。

2020/10/20追記:Servicenowのポータルでのナレッジ記事の表示順を任意に指定できる様にするためのカスタマイズ(完成版)

Servicenowの既存のテーブルにカラムを追加する

基本的にOOTB(Out Of The Box)で=カスタマイズせずそのまま使って、業務を(ベストプラクティス基づいて設計されている)ツールに合わせるのが良いといわれるServicenow(というかパッケージの導入全般?)だが、そうはいっても経営上の管理項目だったりどうしてもカラムの追加が必要になるケースはままあると思われる。

デフォルトのカラムでちょうどよさそうなものが無ければ独自に定義して追加する事になる。

今回はちょっと前述の説明の趣旨とは異なるが、最終的にポータルでのナレッジ記事をカテゴリ内で表示させるときの順番を指定する(※1)ための下準備としてナレッジテーブルに順番を指定するためのデータを追加するという例で、カラムの追加方法を紹介する。

※1:なぜこのようなカスタマイズが必要なケースがあるかについては↓このあたりの記事を参照されたい。
Servicenowのポータルでのナレッジ記事の表示順の謎
Servicenowのポータルでのナレッジ記事の表示順をタイトル順にするためのカスタマイズ

2020年10月17日土曜日

ServiceNowのテンプレートでスクリプト(Javascript)を使う

テンプレート機能の使い方については↓以前のこのあたりの記事を参照。

ServiceNowのテンプレート機能を活用する

ServiceNowのデフォルトではテンプレート化できない項目をテンプレート化する(例)

さて時にテンプレートを使用していると動的な値を入れたくなることがある。

なぜか公式のドキュメントには丁寧な案内が見当たらないのだが、テンプレート内でJavascriptを使うことができる様になっている。

Servicenowのポータルでのナレッジ記事の表示順をタイトル順にするためのカスタマイズ

さてServicenowのポータルでのナレッジ記事の表示順がデフォルトでどのような状態かについては前回の記事を参照いただくとして今回はタイトル順に表示できる様カスタマイズを実施してみたい。

https://community.servicenow.com/community?id=community_question&sys_id=2438061ddba91b047b337a9e0f961928

↑のコミュニティの記事を参考に進めてみたい。

まずカスタマイズが必要なウィジェットを特定する。

Servicenowのポータルでのナレッジ記事の表示順の謎

Servicenowにはユーザ向けのWebサイトを構築するポータルという機能がある。

その中でナレッジを階層構造で表示する機能があるのだが、ぱっと見は綺麗で便利そうなのだが日本企業の文化の中で活用するにはなかなか細かいところで厳しい面があったりする。

例えば次の画面でHow Toというカテゴリ配下のナレッジ記事を表示させているが、何順に並んでいるか、ぱっと分からない。というか謎である。記事タイトルの文字列順でもないし作成順でもないし、閲覧数順でも、有効期限の短い/長い順でもない。普段意識しているデータの中ではどれを見ても何順で並んでいるかわからず、知らないとかなり悩むことになる。

2020年10月16日金曜日

ServiceNowの複数のテーブルを結合する

ServiceNowのデフォルト機能でテーブル毎にデータのエクスポートやレポート機能を使ったレポートの作成が可能だ。

しかし実際のレポートやデータのエクスポートにあたってはそれだけでは不足するシーンも多い。

通常のRDB等であればSQLでjoinやら where(※)やらやればよいところかもしれないが、ServiceNowではデータベースビューという機能が用意されている。

※筆者がSQLにそれほど詳しくないのでご了承ください。

2020年10月13日火曜日

Servicenowの有用なドキュメント集

ServiceNowのドキュメントは英語だがかなり充実しているといって良いと思う。
が正直いっぱいありすぎてなかなか探せないので個人的に使えるのをリストアップしておく。

※随時拡充予定。

2020年10月12日月曜日

ServiceNowでインポートした文字列が切れる場合の対処法(長文の文字列インポート)

Servicenowを使いこなすうえでデータのインポートは不可欠である。

が、デフォルト設定だとほぼ必ず躓く問題がある。文字列が40文字までしかインポートできないのだ。数えてみたところ全角半角問わずきっちり40文字までの様だ。
※制限を設けるのは分からないではないが、デフォルト40文字ってちょっと短くない?

このままでは各種の複数行テキストやナレッジの記事等のインポートにおいてはかなり致命的。このデフォルト動作は次の手順で変更できる。

ServiceNowのインスタンスレベルで送信元IPアドレスによるアクセス制御を設定する

基本的にServiceNowには個人情報を始めとして企業秘密に該当する情報が多数格納されることとなる。企業文化にもよると思われるがログインを求めるとは言えそもそもアクセスをさせたくないというケースは多いと思われる。

そんなときには送信元IPアドレスによるアクセス制御が必要となる。手順は次の通り。

ServiceNowのアップデートセットの作成と設定変更や開発行為を試して切り戻す方法

ServiceNowを法人で本格的に使用する場合やはり本番環境を直接ゴリゴリ設定変更したり、直接本番環境で開発を行ったりというのは非現実的であろう。

通常本番環境と開発環境(+場合により品証≒テスト環境)の2から3面を用意し、開発環境でアップデートセットと呼ばれるものを作成し、それを本番環境へ移送するという流れになるだろう。

一方でデベロッパーインスタンスは原則一人1インスタンスしか取得できないため、アップデートセットの移送という運用は難しい。また、開発環境を用意した場合でもやはり移送するのに適正なアップデートセットを作成するためには、本番環境と全く同じ状態をベースに余計な手順を踏むことなく、設定変更やスクリプトの追加を行う必要があり、開発環境と言えどもなかなか気を使う。

そんな場合にお試し用のアップデートセットを作成し、設定変更を試し、お手軽に切り戻しができると便利なのでその手順を紹介したい。

2020年10月11日日曜日

ServiceNowのデフォルトではテンプレート化できない項目をテンプレート化する(例)

テンプレートの使い方自体についてはこちらの記事を参照。

便利な機能ではあるのだが、テンプレートを使い始めてみると、必ずしもすべての項目がテンプレート化できるわけではないことに気づく。

例えばナレッジのテンプレートを作ろうとしても、↓の様にKnowledge Baseはそもそもテンプレート化対象の項目として指定できないのだ。


これにはセキュリティにかかわる設定を変更する必要がある。

2020年10月10日土曜日

ServiceNowの便利な直リンクURL集

 ServicenowのインスタンスにはなぜかフィルタナビゲータのメニューからたどれないがURL直指定で行くと時に便利な機能がいくつかある。

しかし探し方が悪いだけかもしれないがなぜか公式には一覧が見当たらない。

分かっている範囲でメモしておきたい。
※随時拡張予定。

2020年10月9日金曜日

ユーザの操作を自動で記録する。

ヘルプデスク等でパソコンの問題の問い合わせ対応を行うようなときに、ユーザのITリテラシや双方のコミュニケーション能力等の問題でなかなか問題発生時の具体的な再現操作が分からないことがある。

そもそもユーザにあまり細かいところまで文書で送付する様に求めることが力関係的に難しかったりする場合もある。

また、ユーザの立場からしても正確に操作を伝える文章を書くのは手もかかるし面倒でもある。そんな時に操作を画面キャプチャ付きで自動記録してくれるツールが実はWindowsではデフォルトで用意されている。

Windowsキーかスタートボタンを押してアプリのメニューを開いた状態で「ステップ記録ツール」とインプットしてみると同名のアプリが表示されるので、起動してみよう。

Google Chromeをアドレスバー非表示で起動する:ブログ投稿のスクリーンショット作成を効率化する方法

スクリーンショットをブログに投稿する際、URLを隠す必要があるケースがあります。繰り返しスクリーンショットを撮る作業であれば、その都度ペイントなどでURLをマスクするのは手間ですよね。

ここでは、Google Chromeのアドレスバーを非表示にすることで、その手間を省く方法をご紹介します。

2020年10月8日木曜日

ServiceNowのテンプレート機能を活用する

ServiceNowの便利な機能の一つとしてテンプレートがある。

テンプレートはレコードを作成するときにあらかじめ登録しておいた固定的な記入を何度でも呼び出せる機能である。

同一フォーマットで報告させたかったりナレッジ記事を作りたかったりするときに便利に使える。

ここではknowledgeの機能を例にまずは作り方から説明してみる。

ナビゲーションバーからknowledgeを検索。



knowledge -> Create Newで新規作成画面へ。

Article bodyに、

2020年10月2日金曜日

Servicenowリストの表示で一度に表示する行数を増やす

ServiceNowのリスト画面でデータを一覧表示させている場合の1ページあたりに表示されるデフォルトの行数は20行になっている。

データが多く、操作にも慣れ、管理者的な立場で閲覧する場合、もっと一気に大量のデータを表示させたくなる。

100行までなら何でもよいのでリスト表示画面の左上ハンバーガーリスト(「≡」のメニュー)でShow → 行数の設定で可能。


それ以上に増やしたい場合は、

Servicenowのテーブル一覧を調べる

Servicenowの導入を成功させるキーポイントとしてよくOOTB(out-of-the-box)で使うことが重要と言われる。

ServiceNow自体はプラットフォームとしてアプリケーション開発基盤としても使えるわけだが、SaaSとしてベストプラクティスが組み込まれており、あまりカスタマイズをしてしまうと維持・メンテナンスが困難になるのと、もともとの機能に影響を与えてしまうことさえあるため、カスタマイズしないで使えるならそれに越したことはないだろう。

ServiceNowに限らず、パッケージ導入でカスタマイズ過剰になって失敗という話はもはや定説でもある。とはいえそうも行かないのが日本企業のあるあるではなかろうか。

カスタマイズするにせよOOTBで活用するにせよ、デフォルトのデータベース構造を理解することは非常に重要になってくるが、手引きがあまり見当たらない。

が、一方でテーブルの構造を見ればだいぶわかってくるところもあるので、まずは一覧で出力してみたい。

ServicenowデベロッパーインスタンスでCSM(Customer Service Management)を有効にする

デフォルト状態のデベロッパーインスタンスではCSMがいじれるようになっていない。
そこでプラグインを追加してみる。

フィルタナビゲータからpluginsを探す。

2020年4月15日水曜日

Servicenowインスタンスのタイムゾーンを日本に設定する

ServiceNowのデベロッパーインスタンスを使っていると日本のタイムゾーンが右上の歯車のGeneralからは設定できないことに気づく。
デフォルトで選択できるタイムゾーンとして日本時間は用意されていない様子。
※日本軽視な気がして個人的にはちょっと腑に落ちないが仕方ない。

追加するには次のような手順が必要になる。

ServiceNowを自由に試せる環境を入手する

Service Nowのデベロッパーインスタンスを取得する方法をステップバイステップでメモ。

次のURLへ接続(2020/04/15現在、IEと旧Edgeでは接続不可。Edgeの場合は、MicrosoftからchromiumベースのEdgeをダウンロードする必要あり。)
https://developer.servicenow.com/dev.do
Create an Accountをクリックする。

ServiceNowのdeveloperインスタンスを日本語化する

前回作成したdeveloperインスタンスを日本語化する。ステップバイステップ。インスタンスバージョンは前回構築したOrlandoで実施。

ログイン状態で左上のフィルタナビゲータにpluginsと入力し、System DefinitionのPluginsをクリック。

ウェブサイトのURLにおけるトレイリングスラッシュの解釈と有無による動作の違い

インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...