ページ

2017年4月3日月曜日

アプリケーション管理アプリのご紹介

みなさま、こんにちは!!
始まりましたね、新年度。
関東はソメイヨシノ満開とか聞きますが、関西は少し遅れそうです。
その分、長く楽しめるといいのですが。

さて以前、ノーツコンソーシアムのユーザー情報交換会にて、【ノーツお困りごと相談】という企画がございました。
その際に弊社から提示した内容のひとつに、「データベースの削除ルールについて」というものを出させて頂きました。要は長期間使用されていないアプリケーションを洗い出し、整理することを目的としています。

その際に頂いた回答として、「catalog.nsfで使用頻度をチェックする」というものを頂いたのですが、どうしてもcatalog.nsfにはすべてのアプリケーションが含まれており、少し不自由を感じておりました。
そんな中、ノーツコンソーシアム大阪研究会にて、H様よりcatalog.nsfを参照するアプリケーションを作成し、情報を整理しているというヒントを頂きました。

そのヒントを元に、弊社では稼動しているアプリケーションの一覧を収集し、管理を開始しました。

本日はそちらを紹介させて頂きます。

まずcatalog.nsfでどのような項目が管理されているのか見てみましょう。
catalog.nsfの文書を開いてみると、下記のような項目が保管されていることがわかります。


実際に、この中から必要と思われる項目をピックアップしておきます。

続いてcatalog.nsfをデザイナーで開きます。
フォームで【Main】を開くと、各項目のフィールド名が取得できますので、先にピックアップした項目のフィールドを控えておきます。

それでは別のアプリケーションから参照するためのビューをcatalog.nsfに追加します。

【新規ビュー】をクリックし、以下プロパティを設定して【OK】してください。

ビュー名: 参照用(特に指定ではありません)
別名: ref (こちらは後で参照しますので、指定させてください)

続いてビューの列の設定です。
1列目には参照するためのキーが必要ですので、重複のないPathname(アプリケーションのファイル名)を使うことにします。必ずソートの設定を行っておいてください。

以降の列は特に先にピックアップしたフィールドをどんどん加えてください。
参考までに弊社では、

Title・・・アプリケーションのタイトル
DbSize・・・アプリケーションのサイズ
DbCreationDate・・・アプリケーションの作成日
DbModifiedDate・・・アプリケーションの最終更新日
DbNumDocuments・・・文書数
DbNumDesignDocuments・・・設計文書の数
DbTemplateName・・・設計テンプレート名
DbInheritTemplateName・・・テンプレートから設計を引き継ぐ
DbDesignModified・・・設計の最終更新日時
@If(DbFullTextIndexed="0";"未";"作成")・・・アプリケーションの全文索引
DbBytesIndexed・・・全文索引のバイト数
DbLastFTIndexed・・・全文索引の最終更新
@Name([CN];ManagerList)・・・管理者
@Name([CN];DesignerList)・・・設計者
@Name([CN];EditorList)・・・編集者
@Name([CN];AuthorList)・・・作成者
@Name([CN];ReaderList)・・・読者
@Name([CN];DepositorList)・・・投稿者
@Name([CN];NoAccessList)・・・なし
@Text(DbActSummDisp)+(" - 過去24時間の使用数":" - 過去24時間の読み込み数":" - 過去24時間の書き込み数":
" - 先週の使用数":" - 先週の読み込み数":" - 先週の書き込み数":
" - 先月の使用数":" - 先月の読み込み数":" - 先月の書き込み数":
" - 報告間隔の日数":" - 報告間隔の使用数":" - 報告間隔の読み込み数":
" - 報告間隔の書き込み数")・・・アプリケーションの使用状況の概要

を加えています。
列数がわかりやすいように、ビュー列のタイトルを列数にしています。


それでは実際のアプリケーションを作成します。
アプリケーションの新規作成を行います。名前等はお任せ致します。
続いてフォームを作成します。
こちらも名称はお任せ致します。

フォームのプロパティで、【フィールドを自動更新】にチェックします。


続いてフィールドを配置しますが、先頭に
Pathname・・・アプリケーションのファイル名
を配置してください。
こちらにファイルパスを手入力することになります。

以降はピックアップしたフィールドを配置します。


各フィールドの参照式ですが、

@If(Pathname="";"";@DbLookup("NOTES":"nocache";"サーバー名":"catalog.nsf";"ref";Pathname;2))

となります。
サーバー名はcatalog.nsfのあるサーバー名に書き換えてください。
最後の数字は先にcatalog.nsfに作成したrefビューの列番号になります。
つまり弊社でピックアップした先の項目を順番に列に加えているとすると、

Title・・・2
DbSize・・・3
DbCreationDate・・・4

となります。

なお弊社では以下項目を手入力できるように加えています。
使用用途(テキスト/編集可能)
利用者(名前/編集可能)・・・[宛先]ダイアログから選択
アプリケーションリンク(リッチテキスト)

弊社ではDesktop情報を配信せず、各自で必要に応じて修正させております。
そのため、部署ごとに利用するべきアプリケーションがわかりやすいように【利用者】として部署グループ(一部個人)を選択してあります。
またどのような用途で使用するかを【使用用途】に記載しておくことで、新入社員にも分かりやすいよう工夫してあります。
またいちいち【ファイル】-【アプリケーション】-【開く】からワークスペースへ追加することも手間ですので、【アプリケーションリンク】を配置し、ワンクリックで追加できるようにしてあります。

あとは必要と思われるビューを作成(弊社では、ファイル名順・最終更新日順・部署別の3種類のビューを作成しています。



ビューのアクションの【新規作成】と【更新】は設計者以外には非表示(ロールにて制御)としてあります。

!(@UserRoles="[ロール名]")

また【更新】ですが、一度登録された文書の計算式が自動で最新状態にならないため、ビュー上でクリックすることで全文書が更新されるよう下記の式を設定してあります。

@Command([ToolsRefreshAllDocs])

以上で大まかな設計は完了ですので、文書としてアプリケーションの情報を追加して、適宜確認を行うというものです。
catalog.nsfとの大きな違いは、管理すべきアプリケーションのみを表示できるという点です。

なおご希望されるかたがいらっしゃるか不明ですが、弊社で使用しているものに少し手を加えたものをダウンロードできるようにしておりますので、ご興味ございましたらご使用ください。
設計も公開しておりますが、素人が作ったものと割り切ってご覧ください。

以上、何かのヒントになれば幸いです。

0 件のコメント:

コメントを投稿