目的
Helsinkiより追加・更新・変更された点を、開発者視点でメモ。(備忘録代わりに随時・日々更新)
※もしかしたら Fuji, Geneva あたりから変更されていたかもしれないが、そこはご愛嬌。
ライブラリ
- 標準で利用できるJavaScriptが追加されている。(公式ドキュメントやCommunityでは多く言及されていない。)
- moment.js
- form, list で使用可能
- Service catalog では使えない
- lodash.js
- Service Portal でのみ可
- moment.js
※Global UI Script を作ったり UI Macro や onLoad Script 作って各種ライブラリを適用することも可能だが、
個人的経験からするとオススメできない。標準で使えるものだけ使っていたほうがいい。
メンテナンス工数や顧客要望がきつくなってくる。(無理やり適用しているので、歪が出てくる。)
- Server Side が (漸く)ECMAScript5 対応。JavaScript エンジンは Rhino 1.7 R5らしい。
API
- GlideModal
- ソースを読む限り、BootstrapのModalを使用している。
- data-backdrop="static" の設定方法が不明。(Modalダイアログの枠外をクリックしても、Modalが消えないようにする設定)
- 下みたいなやり方ではダメだった。要調査。
var dialog = new GlideModal("UI_PAGE");
dialog.setPreference("data-backdrop", "static");
dialog.render();
エラーになる。
Illegal attempt to access class 'java.XXX' via script
- gs.sqlが使えなくなっている。以前より非推奨で将来的には無効化されると言われていたが、とうとう本当に無効化されている。
Security restricted: Calling gs.sql is not allowed
GlideForm
- addDecoration, removeDecoration の追加。各fieldにicon(Glyphiconみたいなもの)を追加する。API Document
GlideSystem
-
xmlToJSON
- 従来、mid server 経由で作られたecc queueの解析など、XmlDocument を使ったり非常に面倒くさかった。
- 本メソッドが追加されたことにより、公式APIで、より簡単に、より扱いやすいJSONオブジェクトを取得することができる。画期的。
- Fujiから追加されているらしい。(知らなかった...。)
例) Help the help deskで作られたqueue reocrdを対象
var gr = new GlideRecord('ecc_queue');
gr.get('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
var json = gs.xmlToJSON(gr.payload);
JSUtil.logObject(json);
- [XMLHelper(Script Include)の toObject を使っても同じ結果になるらしい。] (https://community.servicenow.com/community/develop/blog/2016/04/19/processing-inbound-xml-scoped-application-strategy?author=authors/dave.slusher)未検証。これも初めて知った。~~(いつからあるんだ...)~~ 手元のEurekaで調べてみたらあったorz 情報更新が止まっていたらしい...キャッチアップできていない。反省...。
Report
- 「自由なフォーマットでReportを出力したい。Crystal ReportsやWordの差込印刷のような機能が欲しい。」と多々言われるが、OOTBのSNOWでは難しかった。
PDF Document Generator
- 上記課題を解決するためには、Share に公開されている PDF Document Generator を活用するしかなかったが、どうやらGenevaより PDF Generator(com.snc.pdf_generator) という公式プラグインが公開されたらしい。
- ただ、Communityでも指摘されているように実装がイケてない。
UXstorm PDF
- [こーゆーのもある] (https://store.servicenow.com/sn_appstore_store.do#!/store/application/ad5c5f11f7131200d03eedd0358dff1b/1.1.1)
だだ、クソ高い $1,700.00 Per Month
Misc
- [JavaScript Debugger] (http://wiki.servicenow.com/index.php?title=JavaScript_Debugger#gsc.tab=0) が Genevaから消えている。
- (Community) ["I don't see the JavaScript Debugger in Geneva"] (https://community.servicenow.com/thread/211196)
- Debugについてはlog機能とかScript Background で頑張れ!!!らしい...。