iNotes 9をCustomizeしてみよう! -8- | Lotus Notes/Domino (R) をこよなく愛して。。。。

iNotes 9をCustomizeしてみよう! -8-

<話題の履歴>


iNotes 9をCustomizeしてみよう! -1-

iNotes 9をCustomizeしてみよう! -2-

iNotes 9をCustomizeしてみよう! -3-

iNotes 9をCustomizeしてみよう! -4-

iNotes 9をCustomizeしてみよう! -5-

iNotes 9をCustomizeしてみよう! -6-

iNotes 9をCustomizeしてみよう! -7-



前回は、Address Picker Dialogで参照するViewのCustomizeを行うための解説とDJX Viewの削除を行いました。

今回は、DJX Viewと標準Viewを統合した形で表示できるようにCustomizeしてみます。


まず、前回Comment OutしたDJXのAddress Pickerの設定をコピーします。


前回紹介した、Address PickerのFormat部分だけを取り出すと以下のようになります。


sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE"/>,
DcS : '($DJXPeopleiNotesHier)'.
sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$64;JobTitle',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']


sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE_JOBTITLE"/>,
DcS : '($DJXPeopleiNotesTitle)',
sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$64;JobTitle',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']


sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE_PHONETIC"/>,
DcS : '($DJXPeopleiNotesFlat)',
sViewInfo : '$39;MAMailAddress;NPName;Type;AltFullName;',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']


では、標準のViewとDJX Viewを統合して表示できるようにしてみましょう。


Forms9_x.nsfの"x_NamePickerViewList"をCustomizeして、DJX用の設定を追加することで実現できます。


今回は、「名前順」、「DJX組織階層別」、「DJX役職別」、「DJXよみがな順」にしてみます。


Forms9_x.nsfの"x_NamePickerViewList"には以下の定義が行われています。


// for normal directory
{
sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>,
DcS : '($PeopleGroupsFlat)',
sViewInfo : '$39;MAMailAddress;NPName;Type;AltFullName',
nViewType : 1,
aDBPaths : ['*']
},
{
sViewTitle : <dwa:string id="L_NPW_TITLE_HIERVIEW"/>,
DcS : '($PeopleGroupsHier)',
sViewInfo : '$11;MAMailAddress;$24;Type;AltFullName;$8',
nViewType : 1,
aDBPaths : ['*']
},
{
sViewTitle : <dwa:string id="L_NPW_TITLE_CORPHIERVIEW"/>,
DcS : '($PeopleGroupsCorpHier)',
sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$55',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']
},
{
sViewTitle : <dwa:string id="L_NPW_TITLE_LANGVIEW"/>,
DcS : '($PeopleGroupsByLang)',
sViewInfo : '$11;MAMailAddress;NPName;Type;AltFullName;$8',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']
}


2番目以降は今回不要なので、この部分をDJXの設定で置き換えると以下のようになります。


// for normal directory
{
sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>,
DcS : '($PeopleGroupsFlat)',
sViewInfo : '$39;MAMailAddress;NPName;Type;AltFullName',
nViewType : 1,
aDBPaths : ['*']
},
{
sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE"/>,
DcS : '($DJXPeopleiNotesHier)',
sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$64;JobTitle',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']
},
{
sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE_JOBTITLE"/>,
DcS : '($DJXPeopleiNotesTitle)',
sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$64;JobTitle',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']
},
{
sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE_PHONETIC"/>,
DcS : '($DJXPeopleiNotesFlat)',
sViewInfo : '$39;MAMailAddress;NPName;Type;AltFullName;',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']
}


これで、以下のような表示になります。



iNotes_Customize_30


表示する名前を変えたい場合は、上記のsViewTitleの<dwa: string id=""/>の部分を文字で置き換えてやれば可能で、以下のように修正します。


// for normal directory
{
sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>,
DcS : '($PeopleGroupsFlat)',
sViewInfo : '$39;MAMailAddress;NPName;Type;AltFullName',
nViewType : 1,
aDBPaths : ['*']
},

{
sViewTitle : '部署別',
DcS : '($DJXPeopleiNotesHier)',
sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$64;JobTitle',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']
},
{
sViewTitle : '役職順',
DcS : '($DJXPeopleiNotesTitle)',
sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$64;JobTitle',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']
},
{
sViewTitle : 'よみがな順',
DcS : '($DJXPeopleiNotesFlat)',
sViewInfo : '$39;MAMailAddress;NPName;Type;AltFullName;',
nViewType : 1,
aDefaultColumnWidths : [10],
aDBPaths : ['*']
}


これで以下のような表示になります。



iNotes_Customize_31


これでシンプルになったのではないでしょうか?


しかし、このCustomizeではDJX独自のRoutineを通らないため、部署IDや役職IDでSortするViewに関しては以下のような表示になってしまいます。



iNotes_Customize_32



この部分は、標準Routineで処理されているので仕方がないのです。

前回見たDJX用のCodeではこの部分のIDを除いた部分を抽出してからPush処理しているので当たり前なのですが・・・・

これを修正するには、Domino DirectoryのDJXのViewを修正するしかないと思いますが、部署IDや役職IDを削ると並び順が変わってしまうため注意が必要です。


今回は記事が長くなりますので、このへんにしたいと思います。

今回は、Address Picker Dialogの選択Viewの表示をCustomizeしてみました。

次回は、もう少しAddress Picker DialogのDJX ViewのCustomizeを綺麗に出来ないかを調べてみます。


<続く>