- - PR -
◆【ClickOnce 運用上の疑問点】ClickOnceデータ・ファイル(mdf)のバックアップやmail送受信管理は?
投稿者 | 投稿内容 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-06-27 13:35
私のメーラーでは保存のデフォルトはMy Documentsではなく前回保存したフォルダです。また、保存場所はユーザが任意に変えられるし、違うユーザ名でログオンされることもありますからMy Documents下に固定してしまうのはベターではないと思います。そういう意味もこめてSaveFileDialog(この場合はSaveじゃなくてOpenのほうが適切かな?)等の利用をお奨めしました。 メールの本文に説明を書くということなのでOne.netさんの試している方法でもいいとは思いますが。 | ||||||||||||||||||||
|
投稿日時: 2008-06-27 16:40
ぴんふさんありがとうございます。少し外出していて返事が遅くなりました。
そうですね。My Documentsは規定値とばかり思っていました。
私の経験では「適当な場所に保存・・」と言いますと「適当な場所」てどの辺にあるのですかと聞かれたことがあります。むしろ固定したほうが親切なようです。居酒屋で「とりあえずビール」と注文したら「そのビールはアサヒですか、キリンビールですか」と同じような話です。それだけPCが普及したのでししょうか。 また、ClickOnceアプリケーションやデータファイルも<ユーザー名>My Documentsの下の階層にあり、違うユーザ名でログオンされるとアプリケーションの起動すら出来ません。 ぴんふさんの言われるようにSaveFileDialogを使う方法も、直接メールの添付ファイル保存場所を設定して*.gz に絞り込めれば大変便利だと思いますが、以下のことの知識がありません。 1.メールの添付ファイル保存場所は一定しているのか 2.メールの添付ファイルは特殊な圧縮ファイルで、解凍方法が分らないこと 以上のことからこのままでテストしてみます。 修正:むしろ固定したほうが親切なようです。の追加 [ メッセージ編集済み 編集者: One.net 編集日時 2008-06-27 17:22 ] | ||||||||||||||||||||
|
投稿日時: 2008-06-27 23:42
「任意のフォルダ」とは書きましたが、「適当な場所」とは書いていません。 意味的には変わらないかもしれませんが、「任意のフォルダ」の意図も私は提示しました。私の提示した意図をふまえた上での言い換えなのでしょうか・・・。
オンラインなら別ユーザでログオンしても該当のWebサイトにアクセスすれば起動すると思ったのですが、違うのですか?(当然実行ファイル群は別ユーザのMy Documentsの下のものになるのでしょうが)
1.はメーラーから添付ファイルを保存しようとしたときのデフォルトのフォルダが一定かどうかが疑問なのでしょうか? 私の提案では「メーラーから任意のフォルダに保存」としました。ユーザがメーラーからどのフォルダに添付ファイルを保存するかはユーザ次第である(メーラーからは基本的にどこにでも保存が可能だから)ので、アプリから保存したフォルダを指定し、そこから取得したファイルでアプリの期待するフォルダに上書きすればヒューマンエラーが減るかなと考えたからです。 2.は調べた上で「分からない」とおっしゃっているのでしょうか? まぁスレ主さんの意図した動きになっているのならそれでいいのかもしれませんが。 以下は蛇足(だけど重要だと思うが) なんか・・・悪いシステム開発、いわゆる「デスマーチ」とか「尻に火のついたプロジェクト」の典型になりつつあるように見えます。 仮にもっと規模が大きくて複数人のチームによる開発だったら倒れる人が出そうな。。。 理由は・・・ 1.アプリの仕様にしても、運用ルールにしても、「こうなるべき」を定めないで着手。 2.正解がないから調査などの下準備が不十分になる、時間をかけていたとしても的を得ない。でも完成を急いでしまう。 3.1と2により疑問・不具合が多発する。 ・・・仕様書はあるのかなぁ。 スレ主さんは別スレ http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45348&forum=7 で
と書かれていますが、「テクノロジーに対する価値や応用範囲、又はビジネスモデル」を視野に入れていらっしゃるのであれば、尚更「仕様」とそれを作る「設計」の重要性を考慮した上で開発に臨まれたほうがいいと思いますよ。漠然とした要望を仕様〜プログラムへと具体化しユーザに利益(お金だけじゃなくて広い意味のね)をもたらすのがソリューションなんじゃないかな〜。 | ||||||||||||||||||||
|
投稿日時: 2008-06-28 09:55
ぴんふさん、いつもありがとうございます。以下ご質問にお答えします。
その通りです。ぴんふさんの例に置き換えると「任意」というフォルダがどこかにあると誤解されるたという話です。実際には「任意」といっても何かのフォルダに保存することになり、どのフォルダにするか戸惑うよりもあらかじめ定められたフォルダを指定した方が親切であると感じています。
「オンラインのみの使用」のClickOnceアプリケーションの場合は体験していませんが、 「オンラインでもオンラインでも使用」の場合はそのようです。
ぴんふさんが提示された方法は「メーラーから添付ファイルを任意のフォルダに保存」作業と「任意のフォルダからSaveFileDialogを使って指定場所に上書き保存」作業の2回の処理をクライアントにさせていますが、私の提案内容は「メーラーから添付ファイルを指定したフォルダに保存」作業だけで、ClickOnceデータ・ディレクトリへの上書き保存はアプリケーション起動時に自動処理してくれるため単純操作だと思います。
ぴんふさんへの返事を急いでいましたので「私には知識がありません。」と申し上げ増したが調べる余裕はありませんでした。ただ以前受信フォルダの中から選択した人と自分とのやり取りだけを抜き出して送受信のメール内容を時間軸で見られるソフトを作ったことがあり、そのときに添付ファイルの扱いに困ったことがありました。
ぴんふさんの蛇足は外れていると思います。以上 | ||||||||||||||||||||
|
投稿日時: 2008-06-28 23:31
外れているとおっしゃる理由を示してください。 私は理由を示した上でスレ主さんの開発の進め方に危うさを感じると申し上げました。 私も経験から申し上げましょう。ソフトウェア開発において、最も重要なのはコミュニケーション能力です。 開発言語にいかに精通していてもコミュニケーション能力に欠ける人が淘汰された現場をいくつも知っています。 あなたが起こしたすべてのスレを読み返してみてください。正確な情報が伝わらないために回答者の方々が苦慮し、少ない返信数で終わるはずのスレも伸びてしまっていることからもコミュニケーションの重要性がわかるはずです。わからないと言われるのであれば・・・。 あと投稿の際の推敲はしましょうね。誤字脱字が目立ちますよ。 | ||||||||||||||||||||
|
投稿日時: 2008-06-30 10:21
ぴんふさん、ご指摘ありがとうございました。
| ||||||||||||||||||||
|
投稿日時: 2008-07-02 14:52
スレ主のOne.netです。投稿日時: 2008-06-27 13:06 に提示いたしました方法に関して、その後テストしてみた結果を報告しておきます。内容はサーバーから各クライアントにmdf やmdb等のデータファイルを個別にメール送信してサポートする方法でです。(送信ファイルは圧縮して名前をApplication1.gzと固定します)
まず、スタートアップフォームの先頭で次のImports を設定します。 Imports System.Deployment.Application 続けてスタートアップフォーム_Load 時に次のようなコードを記述します。
以上で、サーバから送られてきたmdf やmdb等のデータファイルを複雑なClickOnceデータ・ディレクトリを探すわずらわしさもなく、メールに添付されているApplication1.gzをMy Documents\Project1フォルダに保存するだけで自動的に規定のClickOnceデータ・ディレクトリに上書き保存してくれます。 実際にClickOnceでWindowsアプリケーションを配布し、その配布先へ別のmdbファイルを圧縮したApplication1.gzをメールに添付してテストをしてみましたが、正常にClickOnceデータ・ファイルが上書きされ、個別に対応することが出来ました。 そしてクライアントからサーバへのメール送信(mdf やmdb等のデータファイル)はSmtpMailクラスのSendメソッドを使用すれば、プログラム中からもボタン1つでデータファイルを送信することは容易です。 http://www.atmarkit.co.jp/fdotnet/dotnettips/017sendmail/sendmail.html Windowsアプリケーションは、このことによってアプリケーションそのものの配布や更新だけでなく、これらのデータソースとなるデータベースをも個々のクライアントに対し、メール添付によって簡単に送受信することが出来ました。ありがとうございました。 修正:メール添付によって簡単に送受信 [ メッセージ編集済み 編集者: One.net 編集日時 2008-07-02 15:00 ] |