ServiceNow-地図アプリ作成
ServiceNowの地図アプリ
業務用アプリとして、アサインされたタスクとそれを管理する管理者用、作業者用のアプリを作成する。
アプリケーションアーキテクチャ[構造]
地図アプリは4層構造となっている。1がコアサイドで4がクライアントサイド
①scoped application[studioに遷移したときにでるやつ]
②mobile app file[+create application fileででるやつ]
③folder[appletのコンテナ]
④applet
それぞれの担当領域をレイヤーで分離するのはandroidとかiOSアプリで共通する概念なので、それの名称がServiceNowライクに書き直されただけと理解。
出来上がり
プラットフォーム上で、管理者が作業者にタスクを振り分けて、
作業者の位置情報を表示するアプリケーションを作成。
テーブルに緯度と経度を設定して、クライアントサイドのアプリケーションと接続。
作り方
studioを使用するので、application navigator >system applications > studioでstudioを選択。
①scoped application[アーキテクチャの基層]を作成
(studioで)create applications > start from scratch にて作成
②mobile app fileを作成。
[+create application file]を押下してから、
mobile development > mobile applicationを選択して作成。設定項目は以下
- name:アプリ名称
- icon:アイコン
- description:アプリの概要説明
③folder[appletのコンテナ]を作成
folder押下でテキスト入力欄が出るので入力。アプリコンテナ
④appletを作成
*appletとは、アプリケーションの中にある小さなプログラムのこと。Java。
create new appletで、作成フォームに遷移するので、そこで設定する。
フォームでは、
- スクリーン設定[表示UIをいじる]
- データモデル設定[参照テーブルをいじる]
の二つが設定できる。
まずは、データモデルの設定を行う。
参照テーブルと条件式(クエリみたいなもの)をGUIで設定できるので、例えば、
table:User[sys_user](ユーザ名の一覧が格納されたテーブル)
condition:Manager is(dynamic) me(Managerテーブルの値が参照者であること)
ほとんどDBとSQLをいじるようなことを設定する。
データモデルの設定を表示項目に反映させる。
これでsaveして、アプリを見るとできている場合がある。
できていない場合、
管理者ログインした場合に、アサインしたユーザは手動設定しなければならないが、
初期設定されていないため。
なのでユーザテーブル(sys_user)に移動して、
任意のユーザレコード(ex.abel tuter)をクリックして、
フォームレイアウトからManagerを追加して、
managerフォームにsystem administratorを追加してsaveする。
(上記説明はかなり端折っているので、わからないこともあるかと思いますが。。。)
ここまでで完成です!お疲れさまでした。以下は追加項目です。
------------------------------
abel tuterの場合は、location項目がブラジルに設定されているので、
できれば日本に変えたい!下記画像のように。。。
その場合は、user tableのlocationを変更せねばならないが、
locationはロケーションテーブル[cmn_location]にて別管理されている。
下記サイト(Define locations)
location hierarchyの
apac > Japan > tokyo以下に子テーブルとして、
例えば、皇居(chiyoda 1-1-1 tokyo,japan)などで登録したら、
参照が可能になるので、それで設定すること。
ロケーションテーブルには緯度経度(lat,lon)を入れるフォームがあるので、
そこに位置情報を格納すること。
*ユーザによっては、location hierarchyに、apacの情報が出現しない場合があるが、
それはユーザテーブルが位置情報(timezone,locale)を固有に保持している場合なので、
該当箇所を修正しなければならないが、
手っ取り早い解決策としては新規ユーザを追加して、そこに位置情報を格納することである。
(わかりにくい文章で申し訳ないです。。。)
これでモバイルアプリを起動すると、日本の地図が出るようになる。