当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

Translate

2015年7月30日木曜日

Windows 10でNotes/Dominoはどうなった?

こんにちは、今日は7月30日・・・あれ?もう、7月終わりじゃないですか!?
7月の終わりと言えば・・・そうですね。
Windows 10がリリースされましたね。

今回は、リリース後1年間に限り、無償でバージョンアップができるということで、ちゃっちゃとアップデートしている方が大勢いらっしゃるようです。
そこで、私もその波に乗るべく、大事な大事なSurface Pro 2をWindows 8.1からWindows 10へとバージョンアップさせてみました。

ただ、それだけでは面白くもなんともないので、Notes/Dominoが果たして正常に動作するのかの検証も併せて行ってみました。

ちなみに、Windows 8がリリースされたのが2012年10月26日ですから、約3年ぶりのメジャーバージョンアップとなります。
その時の記事は、Windows 8 にLotus Notes 8.5.3 をインストールしてみたですので、参考として一緒に読んでもらえれば幸いです。

では、スタート!
なお、アップデート手段はマシンによって若干の差があると思いますので、そこはご了承ください。

まずは、タスクバーに表示されている「Windows 10を入手する」のアイコンをクリックして確認します。
Windows 10を無償で入手する手順

通常であれば、自動で通知が来るそうですが、来なかったので色々と確認してみたところ、
Windows Updateを実行したら、「Windows 10にアップデート」という表示が出ているではないですか!
Windows Update

早速、[はじめに]をクリックしましょう。
すると、Windows 10のモジュールのダウンロードが始まりました。
2713.2MBもあるの!?でかすぎでしょ。まぁ、今どきは光回線が普通なのでしょう。
私のSurface Pro 2君はWi-fi接続しているのですが、先日無線ルータを新調したのでそこそこ速くなってます。良かった良かった♪
ダウンロード開始

そうこうしているうちにダウンロードが終わったようで、インストールの準備に入ったようです。
ここまでは、3分少々で進んだので、めちゃくちゃ早かったです。
実は事前にダウンロードしてあったのか?というくらいです(でも、そういったものは見つけられませんでした)。
インストールの準備をしています

ですが、案の定、ここからが長かった。なかなか、先の画面に進んでくれません。
25分くらいしたところで、ようやく「それでは、アップデートを開始します」というダイアログに変わってくれました。
「ライセンス条項」が書かれているので、一通り読んで[同意する]をクリックします。
それでは、アップグレードを開始します

すると、今度は「アップグレードは時間がかかるから、コンセントに電源をさして作業してくださいね」というメッセージが表示されます。
そんなもん、分かってるから早くしろよ!という気持ちを抑えつつ、[今すぐアップグレードを開始]をクリックします。
ちなみに、今はその気じゃないんだよなぁ。という場合は、アップグレードを先延ばしすることもできるようです。
アップグレードをインストールできます

この後、Surface Pro 2が再起動した後、アップグレードがインストールされました。
進捗率は円グラフのような感じで表示されたままだったので(数字の信ぴょう性はともかく・・・)、いつ終わるかなぁ、途中で失敗しないよなぁ。とドキドキしつつ待つこと30分強。

なんとかアップグレードが成功したようです。
ログイン画面が表示されたので、パスワードを入力して、デスクトップ画面を表示させます。
ログイン画面

Windows 10のデスクトップ画面

・・・変わんねー。って思ったけど、よく見るとタスクバーのところが全然違います。
アイコンの大きさが小さくなってます。
さらに、Windowsボタン?の左の部分に「WebとWindowsを検索」という入力ボックスがあります。
邪魔だよ!と思ったので、検索アイコンを表示するように変えてやりました。ふふんっ。


さて、ここで天の邪鬼な私は、Windows Updateを実行してみました。
まぁ、リリースされたばかりだし、まさかとは思うけど、念のためね(笑)みたいな感じで・・・
えぇっ!もう、更新プログラムがあるじゃん!それも2つも!!!
はやっ!
Windows Update(2つの更新プログラム)

仕方がないので、インストールしておきました。
早いことは良いことだ!とは言いますが(そうなの?)・・・早すぎねーか?


で、Windows 10そのものについてですが・・・
他の人が書いているブログやMicrosoftのサイトを参考にしてください。
正直、Surface Pro 2くんではどうでも良いです(笑)

私の目的は最初に書いたようにNotes/Dominoがどう動くのか!ですから。

ということで、まずは、予めインストールしてあったIBM Domino 9.0.1 FP4をサービスとして起動してみました。
IBM Domino 9.0.1 FP4

画面はIBM Domino Consoleのものです。「サーバーが応答しません。」とかエラーが出てますが、正常です(このサーバーを起動していませんから)。
それ以外では特にエラーも発生していませんので、問題なく動作していると言って良いでしょう(もっとも、IBMのサポート対象外ではありますが)。

IBM Notes 9.0.1も正常に動作しています。
ノーツDBも普通に開きますし、XPages in Clientも動作しています。

なお、Windows 8の時にあったメニューからIBM Notes/Dominoが消えてしまった!という現象は発生しませんでした。
しっかりと、メニューの「すべてのプログラム」の中にありました。良かった良かった。
すべてのプログラム

そういえば、XPagesと言えば、ブラウザからも動作するのでしょうか?
ということで起動させてみました。

せっかくなので、Microsoft Edgeで動かしてみました。
動かしたXPagesアプリケーションは「XPages版ワークスペース」ならぬ「Domio~n」です。
Domio~n(XPages版ワークスペース)

こちらは、ワークスペース(っぽいもの)をXPagesで実現したアプリケーションです。
アイコンをダブルクリックすると、指定したノーツDBが開きます。
ドラッグ&ドロップで、アイコン同士の並べ替えもできます。

アプリについて詳細を聴きたいという方は、ご連絡いただければ、ご訪問して説明いたします。


駆け足になってしまいましたが、Windows 10では、大きな問題もなく、IBM Notes/Domino 9.0.xは動きそうです。
XPages in Bluemixも使えるようになったことですし、ますます新しい環境での動作が増えてくるのではないでしょうか。
私もBluemixはやらないといけないですね。



では、今日はこの辺で。

2015年6月24日水曜日

月刊Notes/DominoWebセミナー6月号の資料をアップしました

みなさん、こんにちは。

昨日(2015/06/23)は、月刊Notes/DominoWebセミナー6月号という事で、Webセミナーで話をさせていただきました。
題材は、もう何度も話してきたRESTサービスについてでした。

Notes/Dominoは古いとか独自性があるとか言われていますが、RESTのような標準サービスとの連携もできるんですよ!
ということが伝わっていれば嬉しいです。

また、デモでお見せしたようにOnTime のようなNotes/Dominoのアドオンアプリケーションとの連携もできます。
こういう連携ができるだけでも楽しいですし、工夫次第では業務が効率化できるようになります。

ぜひ、RESTを覚えて活かしてみてください。


なお、チームスタジオ様からも資料を参照できるようになるかと思いますが、私もセッション資料をslideshareに公開しましたので、参照していただければ幸いです。



XPagesでRESTを使ってみよう from Masahiko Miyo




もっと詳しい話を聞かせろ!とか、OnTime OpenAPIのデモをビデオじゃなくて直接見たい!という方は、ご連絡いただければ対応させていただきます。






【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2015年5月21日木曜日

「OnTime OpenAPI 活用ワークショップ」に参加してきました!

皆さん、こんばんは。こんな時間ですが、こんな時間だからこそ、ブログの更新です(笑)。

5/19~5/20にかけて行われたIBM XCITE SXPRING 2015はいかがでしたでしょうか?
私の会社は残念ながら出展できるようなものがありませんでしたので(私自身を売ってますので(笑)…お仕事の依頼、お待ちしてま~す)、IBM Verseの詳細調査と、Notes/Dominoの関連製品の調査という形で参加してきました。
私は、その中でもNotesのスケジュール/カレンダーを強化してくれるというOnTimeが好きなのです(もちろん、他の製品も好きですよ)が、そのOnTimeを「さらに」便利に使えるようにできるというワークショップが開催される!ということで、参加してきました。


主催はアクセル様で、場所は東京は新宿駅付近の東京オフィスでした。
今日は、その内容について簡単にご紹介を・・・と思ったのですが、そもそも、Notes/Dominoユーザの皆さんは、OnTimeはご存知ですよね??

ご存じないという方のために、製品説明を・・・と思ったのですが、
すでに他の方がブログでたくさん紹介してくださっていますので、そちらの方をご覧ください。

OnTime Group Calendarを試してみよう!
全部で37もの記事になっていますが、その分、製品説明がしっかり出来ています。


そんなOnTimeですが、なんとまぁ外部から操作するためのAPI群が用意されているというじゃないですか。
今回は、そのAPIの基礎から使い方について、開発元のIntraVisionから講師が来てくださいました。
講師はなんとIBM ChampionMikkel Flindt Heisterberg氏です。


OnTime のAPIはデモサイトがあり、そこからAPIの動きをトレースすることができるんですね。
このAPIはJSON形式のデータでやり取りをしています。
・・・つまり、REST APIを使っているのですね。
ブラウザから動作確認ができるというのもその証拠の一つでしょう(デモサイトのページを見ると、リクエスト用のURLが出ていますし、レスポンスはHTTP Statusを使っています)。


面白いという便利なのが、OnTimeはユーザの識別をするのにTokenを用いています。そのため、Dominoのセッションが切れたとしても、Tokenが生き残っていれば、そのまま処理を継続することができるというものです。Tokenの有効期間はデフォルトで24時間ですが、強制的に無効にすることもできるなど、セキュリティ面も考慮されています。


このAPIを使いこなすことができれば、Notes/Dominoのカレンダー情報を外部から操作・分析とかできそうですね。
なお、JSONでのやりとりとなれば、私が今までこのブログでもお伝えしてきた「XPages」との連携も簡単に行えそうです!
ということで、次回はXPagesからOnTime APIを呼び出すということに挑戦してみましょう。
出来るかな?どうかな?できたらすごいですよね!




こうやって、自分で自分の首を絞めるのでした・・・
期待しないでお待ちください。

では今日はこの辺で・・・(

2015年5月9日土曜日

よく使うコントロールのセットを作成する

皆さん、こんにちは。新緑の季節です。

この週末、私は「自腹」で購入した「Teamstudio Bootcamp for XPages」をやっています。
ハンズオン中心ですが、各コントロールの詳しい紹介や、なぜXPagesが良いのか?などと言った解説も書いてあり、なんとなく開発していた(ヲイ!)私にもよくわかるようになっています。

基本的には集合教育とのことですが、受講者が一人しかいない。という場合にはテキストのみの販売も行っているそうです(私はこれを利用しました)。
詳細は、XPages 開発の集合教育をご覧ください。

・・・PRしたから、少し安くしてくんないかな(笑)


閑話休題。

本日の話題に入りましょう。

今日もXPagesの話と行きたいところですが・・・Domino Designerの便利な使い方についてです。


XPagesの開発をする場合、必ずと言っていいほど、「コントロール」ビューからコントロールをドラッグしますね。
「コントロール」ビュー

この時、こんな風に思ったことはありませんか?
「"出力スクリプト"はよく使うのに一覧に表示されてないんだよな。」「こんなに表示されても探すのが面倒なんだよな。」

前者の場合、「その他」をドラッグして、「コントロールの作成」ダイアログを表示して、そこから検索及び選択して貼り付けることができます。
「コントロールの作成」「ダイアログ

後者の場合、もう諦めるしかない・・・


となりそうですが。

いえいえ、そんな煩わしいことを考える必要はないのです。
どちらも一発で解決する方法があるんです。


「コントロール」ビューにマウスカーソルを移動して、そこですかさず右クリック!
コンテキストメニューが表示されるので、「パレットのカスタマイズ...」をクリックしましょう。
「コントロール」ビューで右クリック!

すると、パレットの設定ダイアログが表示されます。
表示したいコントロールにチェックをつけて[OK]をクリックすると、あ~ら不思議。
「コントロール」ビューにそのコントロールが表示されるようになるではありませんか。
パレットの設定ダイアログ

※ここでは「出力スクリプト」にチェックをつけて[OK]をクリックします。
「出力スクリプト」を追加した「コントロール」ビュー

表示させることができるということは、当然、表示させないようにすることもできます。
あまり使うことのない、コントロールはここでチェックを外しておけばよいのです。

また、プロファイルを作成して、表示させるコントロールを切り替えることもできます。
オリジナルのパレットプロファイルを選択してみた

Extension Libraryのコントロールは(私にとって)必要最小限に抑えてみました。
また、出力スクリプトはCSJSを書くのに最適でよく使うので、表示させておきました。




ちなみに、勘の鋭い方はお判りでしょうが、先ほどのパレットのカスタマイズは[ファイル][プリファレンス]で表示されるプリファレンスの中にあるもの(Domino Designer - XPages - パレット)をショートカットで表示するメニューだったのです。


このようにプリファレンスには色々便利な機能が隠されています。
是非、ご自分で探してみてください。
探し当てることが出来たら、この記事にコメントとして残してください。
詳細を調べて、次の記事のネタにさせていただきます(^^


では、今日はこの辺で・・・
Bootcamp for XPagesに戻んないと!




【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2015年4月3日金曜日

XPagesで名前ピッカーを使う場合

こんにちは。
4月に入りました。すなわち、2015年も四分の一が過ぎたという事を意味します。
(毎年、この時期におんなじこと言ってるなぁ というのは気のせいではありません・・・)

さて、今日は見切り発車的な情報です。
この記事を読んだどなたかが補足してくれるのを待つという試みです(笑)


XPagesのアプリケーションでユーザーを選択する場合、
Extension Library(9.0からは標準)の「Name Picker」(9.0では「名前ピッカー」)を使うかと思います。
(癖があって、日本のユーザには使いにくいというのはさておいて・・・)

この「名前ピッカー」の設定方法は次の通りですね。




    
        
        
    


「user1」という編集ボックスを作成して、複数値を許可しています。
「名前ピッカー」はその「user1」に割り当てるようにしています。
ユーザの選択肢はドミノディレクトリにしていて、ユーザーとグループの両方が表示されるようにしました。

実行結果は下図のような形になります。
名前ピッカーの実行結果1

ドミノディレクトリに登録されているユーザー名とグループ(ほとんどグループなのは、諸事情によるものです(笑))が表示されています。
ここで左側のリストからユーザー/グループを選択して[追加]ボタンをクリックすると、右側のリストに移ります。
選択したら、[OK]をクリックすれば、「user1」の編集ボックスに代入されます。
簡単ですね。


ところで・・・
私のNotes/Domino環境ですが、
サーバーのnotes.iniには
NAMES=names.nsf,VistaNames.nsf
という行があります。
そうです。二次アドレス帳が設定されています。

ところが、上の画面にはその二次アドレス帳は表示されていません。
これは困りますね。
そんな時は「名前ピッカー」の設定を少し変えます。

こんな感じです。

    
        
            
                
                
            
        
    


「dataProvider」という項目を「dominoNABNamePicker」から「namePickerAggregator」に変更します。
そして、それの子供という形で配下に「dominoNABNamePicker」を作ります。

この実行結果は下図のとおりです。
名前ピッカーの実行結果2


見事にアドレス帳が選択できるようになりました。
選択肢にはnotes.iniの「names=」の行のものが表示されています。

これで先ほどよりは使いやすくなりましたね。

でも・・・
この場合、二次アドレス帳がDominoサーバ上にあることが前提となります。
しかし、必ずしもそうとは限りません。
Dominoには「ディレクトリアシスタント」という便利な機能があります!

これを利用すると、Dominoサーバ上にないアドレス帳の情報も参照することができるというものです。
ノーツクライアントのメールの「宛先」リンクをクリックするとこんな画面になります。
ディレクトリアシスタントを設定した場合

では、XPagesアプリの「名前ピッカー」でも使えるでしょうか?
「名前ピッカー」の設定は変えずに、再度実行してみました。

下図がその結果です。
名前ピッカーの実行結果3

あれ?表示されません。というか、選択すらできなくなってます。
はい。そうなんです。XPagesでは、ディレクトリアシスタントはこのままでは使えないのです。

じゃぁ、どうすればいいのか?



実は、方法があります。
ドミノディレクトリ(いわゆるnames.nsf)にあるサーバー文書を編集します。
編集するのは、二次アドレス帳がある方のサーバー文書です。
「セキュリティ」タブにある「信頼できるサーバー」という項目にXPagesアプリケーションがあるDominoサーバー名を入力します。
サーバー文書の編集

この後、Dominoサーバーを再起動します。
※ディレクトリアシスタントの設定は済んでいるものとします。


これでXPagesアプリを実行すると・・・
こんな感じになります。
名前ピッカーの実行結果4

無事に別のサーバーにある二次アドレス帳の内容が表示されました。
これでユーザー選択の方法が簡単になりますね!
良かった良かった・・・




ここまで書いておいてなんですが、うまくいく場合といかない場合があります。
二次アドレス帳となるノーツDBを変えるだけで挙動が変わってしまうことがあるのです。
設定としては上で書いたもので正しいと思うのですが、ノーツDBに何らかの条件があるのではないかと思っています。
ご存知の方がいれば、コメントとして残していただけると大変うれしいです。

ちなみに失敗すると、XPagesアプリがあるDominoサーバーのサーバーコンソールに
HTTP JVM: com.ibm.xsp.FacesExceptionEx: データベース dnames.nsf を開けません。
というエラーメッセージが出力されます。
さらに、「名前ピッカー」の実行結果は二次アドレス帳を選択しても、一覧に何も表示されないという哀しい結果になります。
名前ピッカーの実行結果5


と、中途半端な形になってしまいましたが、実現できたのは事実!ということで、
XPagesはすごいぜ!
とごまかして終わります・・・

2015年3月24日火曜日

XPagesで文書内の添付ファイル名を取得しよう!

皆さん、こんにちは。
当ブログも今日(2015年3月24日)で丸7年となりました。明日からは8年目に突入です。
「Notes/Dominoに関する事をテキトーに書いていきます。まぁ、いつまで持つかお楽しみということで。」という副題で始めましたので、ここまで続くのは驚異的でしょう(自分で言うな?)。

ということで、お祝いとしてこのボタンをクリックしましょう。
にほんブログ村 IT技術ブログへ
お祝いなんかしてやるもんか!という方は、このままお帰りください(笑)。


さてさて、では7年目最後の記事に移りましょう。

今日は前回の記事(XPagesのファイルアップロードでファイルの種類を限定する )に関連したものです。
前回は、画像ファイルをアップロードするという話でしたが、
画像の添付ファイルが複数アップロードされている場合、それらのファイル名をどのように取得すれば良いのか、また画面にどうやって表示すれば良いのか?を検証してみます。


なお、添付ファイルを複数アップロードする方法についてはXPagesで文書保存時に添付ファイルの数を限定させるには
また、添付ファイルイメージを画面に表示させる方法についてはXPagesで添付したイメージを画面に表示させるを見てください。


まず、添付ファイルがいくつ存在するのかを確認する必要があります。
これは、NotesRichtextItemクラスのgetEmbeddedObjects()を使います。
(文書全体の場合は、NotesDocumentクラスのgetEmbeddedObjects()を使います)。
これは、java.util.Vectorで返ってきます。
ですので、size()メソッドを使って、添付ファイルの数が取得できます。
ソースコードとして書くとこんな感じでしょうか。
var curdoc = document1.getDocument( true );
var ritem  = curdoc.getFirstItem( "AttachedFile" );
if ( ritem != null ) {
    if ( ritem.getType() == 1 ) {
        if ( curdoc.hasEmbedded() ) {
            var att:java.util.Vector = ritem.getEmbeddedObjects();
            return att.size();
        }
    }
}


添付ファイルは「AttachedFile」というリッチテキストフィールドに格納してあります。

次に、ファイル名はNotesEmbeddedObjectクラスのgetSource()メソッドを利用して取得できます。
NotesEmbeddedObjectオブジェクトはgetEmbeddedObjects()の戻り値であるjava.util.Vectorの一つ一つの要素になります。
ですので、
java.util.Vectorを要素数分だけ繰り返し処理をしながら、ファイル名を取得していくという事をします。
LotusScriptの場合、Forallという関数があり、それを使いますが、JavaScriptでは使えませんので、別の方法を利用します。

java.util.Iteratorクラスを利用します。
ソースはこんな感じになります。
var curdoc = document1.getDocument();
var ritem  = curdoc.getFirstItem( "AttachedFile" );
if ( ritem.getType() == 1 ) {
    if ( curdoc.hasEmbedded() ) {
        var att:java.util.Vector = ritem.getEmbeddedObjects();
        if ( att.isEmpty() ) {
            return null;
        } else {
            var atti:java.util.Iterator = att.iterator();
            while ( atti.hasNext() ) {
                var obj:NotesEmbeddedObject = atti.next();
                print( "ファイル名=[" + obj.getSource() + "]" );
            }
        }
    }
}


java.util.IteratorはVectorオブジェクトの要素を一つずつ取り出すのに利用します。
while文でループする際、hasNext()を使って、次の要素が存在している限り繰り返すようにします。
オブジェクトの取得は、nextを使います。
取得したオブジェクトはNotesEmbeddedObjectなので、getSource()でファイル名が出力されます。



これらを応用することで、添付ファイルの分だけ画面上にイメージを表示させることができます。
「繰り返し」コントロールを配置して、「使用するバインドデータ」はJavaScriptで添付ファイルの数を出力するものを書きます(一つ目のソース)。
繰り返しコントロールの索引名に「repeatIndex」と書いておきます(名前は任意)。

「繰り返し」コントロールの中に「イメージ」コントロールを配置します。
「イメージ」コントロールの「イメージソース」は「値の計算...」でサーバーサイドのJavaScriptを記述します。
ソースは2つ目のものを書きますが、若干変更します。

変更後のソースを載せます。
var curdoc = document1.getDocument();
var ritem  = curdoc.getFirstItem( "TitleLogo" );
var attname = new java.util.Vector();
if ( ritem.getType() == 1 ) {
    if ( curdoc.hasEmbedded() ) {
        var att:java.util.Vector = ritem.getEmbeddedObjects();
        return curdoc.getUniversalID() + "/$FILE/" + att[repeatIndex].getSource();
    }
}


「繰り返し」コントロールの中に配置されているので、繰り返し処理を行う必要はなく、「repeatIndex」の箇所にあるオブジェクトを取得すれば良いです。

サンプルDBとして作り、動かしてみたのがこちらの画面です。
複数のイメージを画面上に表示する

実用性はともかく・・・
XPagesではこのようなことも行えます。
ぜひ、活用してみてください。

では、今日はこの辺で。




Web化するならXPages!








【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2015年3月4日水曜日

XPagesのファイルアップロードでファイルの種類を限定する

皆さん、こんにちは。
先日、誕生日を迎えて、四捨五入すると50歳という、もう「アラフィフ」と言っても良くなってしまいました。
全然めでたくありません!

めでたくないので、このボタンをクリックしてください。
にほんブログ村 IT技術ブログへ


今日は久しぶりにXPagesの話題です。
たまには書かないと、「こいつ、ホントにXPagesできるのか?」と疑われてしまいそうなので(笑)


XPagesでは、ファイルを添付するのに便利な「ファイルアップロード」コントロールがあります。
こちらの説明については、以前にも書いていますので、
XPagesで添付ファイルの処理をする(アップロード)
XPagesで文書保存時に添付ファイルの数を限定させるには
そちらを参照願います。

さて、今日はそんなファイルアップロードコントロールのちょっとした応用についてです。
ファイルを添付する際、ファイルの種類を限定したい場合があります。
私にはそんな理由がありました。

それを実現する方法について説明します。

通常のHTMLでは、


と記述することで、アップロードするファイルの種類を限定させることができます。
input type='file'だけを記述したサンプル

ファイルアップロードコントロールをクリックしてみた

では、XPagesのファイルアップロードコントロールではどのように実装すれば良いのでしょうか?
「ファイルアップロードコントロール」のすべてのプロパティを見ると、「accept」という項目があります。
ここに記述してみました。

ところが・・・
動いてくれません。動くのですが、ファイルの種類が限定されません。

今度は、「ファイルアップロードコントロール」のオプションにある「MIMEタイプ」の値を変更してみました。
ところが・・・
やはり動いてくれません。

何でしょう???
IEでもfirefoxでもchormeでも同様の結果です。


私ができたやり方は
すべてのプロパティにある「attrs」で[+]をクリックして、「attr[0]」にacceptを設定したのでした。
attrの設定

ちなみに、複数のファイルの種類を設定したい場合は、
valueに「@List( "image/gif", "image/jpeg", "image/png" )」と配列になるように書いたら動きました。
この時、ちゃんと「◆値の計算」をクリックして、JavaScript式として書くのを忘れないようにしましょう!

実行結果はこちら。
ファイルの種類を増やしてみた

見事に、pngやjpgが増えています。


ということで、attrに値を設定することで色々とできるようですので、試してみてください。



では、今日はこの辺で。



Web化するならXPages!







【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ