WebForm

WebForm 6.x-2.6 2009-Feb-16
http://drupal.org/project/webform

初期導入されているモジュールcontactでは、フィールドが変更できないので、自由に入力フィールドを設定できるモジュールはないかと思って探して見つけたのがこれ。

結構良さそうなのだけれども、通常のメールフォームとして使うには、ちょと仕様がイマイチ・・・。 (趣味のサイトでメールフォームとして使うのなら問題ないが、お客さん相手のサイトだと、実運用に使用するには勇気がいります。)

もともと、自由にアンケートを設定して、集計するために作られたもののような気がします。そういう意味で見てみると、非常に素晴らしいモジュール。

モジュールを探している人が、ネーミングによって期待させられる機能と、もともとの設計思想との間にギャップがあるのだと思います。

そして、その期待感から、私は、自分の求めていることを実現させようと四苦八苦してしまいました・・・。

「結論として、 私は、これにAdvancePollってネーミングしたい気持ちでいっぱいです」ってことで、このモジュールの本来の設計思想が何となく伝わるのではないでしょうか。

それでも、最後に、願いを込めて、もし、組み込んで頂けるのなら組み込んでもらいたい機能を挙げておきます。

私の願い

  • 「送信内容をサーバーに保存するかどうかを、フォームごとに設定できるようにして欲しい。
    【現状、全て保存される。トリガーを設定すれば、送信(投稿)と同時に削除出来そうな気がしますが・・・(未確認)】
  • 送信し、サーバーに保存された送信内容に対して、「ユーザが編集できるか」、「削除できるか」という権限を別々に設定できるようにして欲しい。
    【現状、保存した送信内容をユーザが参照し、編集が可能に設定にすると、削除まで可能になる】
  • メールが送信されるタイミングを、新規送信、修正送信、削除のステップごとに、設定できるようにして欲しい。
    【現状、新規送信時のみ】
  • メール送信内容を画面から自由に変更できるようにして欲しい。
    【現状、メールに表示する項目を選択できるが、それ以外の枠組みは、変更できない。メッセージなども入れることが出来ない】
  • 送信控えメールと送信メールの内容を別々に設定したい
    【現状、送信者と受信者を設定できるが、送信される内容は同じ】
  • 送信控えが必要かどうかを、送信者が選択できるようにして欲しい。
    【現状、フォーム作成時の設定を変更することが出来ない。】
  • 送信前の確認画面(プレビュー)を表示できるようにしたい。
    【現状、『送信』をクリックすると、未確認のまま送信されてしまう】
    ※これは、初期導入されているcontactモジュールでも同じ。
  • サーバーに保存されている送信内容を削除したときに、送信内容一覧の画面に戻って欲しい
    【現状、リンクのない削除完了画面が表示される。再び送信内容一覧画面に戻ろうとすると、わずらわしい画面操作を経なければ戻れない。】

そんな感じです。 現状の機能のまま使用するとすると、次のような使い方になるような気がします。

私の考えこのモジュールの使い方

アンケートとして使う場合

  • ユーザが、自分自身が投稿した内容を参照可能な設定にする
  • ユーザが、自分自身が投稿した内容を修正(削除も含む)可能な設定にする

統計をとる為のものなので、削除されても修正されても、その結果はリアルで集計される為問題ない。ユーザが確認でき、誤りは修正が出来るので、統計の制度もあがる可能性がある。

何らかの依頼を受け、それを履行するために使用する場合

  • ユーザが、自分自身が投稿した内容を参照可能な設定にする
    (プレビューの位置づけとして使う)
    ※ただ、ユーザが、自分の個人情報がサーバーに保存されていることを知ることになるので、不安な気持ちにさせる恐れがある。
  • ユーザが、自分自身が投稿した内容を修正(削除も含む)はできない設定にする
    (送信内容が修正されたり、削除されたりしても、何の通知もなされない為、受信者は、それらの行為が行われたこと検知することが困難なのでこのようにする)
  • ユーザが依頼の修正やキャンセルをどのように行なうかの運用ルールを決め、そのツールも用意する
    (例えば、フォームを作成する際に、ユーザが『新規』『修正』『削除』の区分を入れられるようにしておくなど・・・。)
  • メールには、『送信内容一覧』が面へのリンクが表示されてしまう為、ユーザへは送信内容のメールを控えとして送信しない設定にしておく。
    ※モジュール内のメールのテンプレートを修正すれば表示されなくなるので、控えのメールを送信する設定にしても、運用的には問題がなくなる。
    (ただし、送信者宛、受信者宛の双方のメールに表示されなくなる。)
    ※ただ、送信されるメールは愛想のないものなので、送信者(お客様)宛の控えとしては、どうかと思う。 ※もっと、テンプレートを修正すれば、愛想の良いメールにすることができるかも・・・
    ※しかしながら、モジュールのアップデートのことを考えると、モジュール内のテンプレートは修正したくない・・・

使い方を考えては見たものの・・・

ただ、この場合、ユーザからの依頼を履行する為に必要な『ユーザの個人情報』をサーバーに保存してしまうことになるので、個人情報保護の観点から、個人的には気持ちが悪い感じがします。(Drupalやモジュールのセキュリティの脆弱性によるデータ漏洩が心配。)

ということで、結局、私は、Drupalのモジュールではなく、フォームメール機能のCGIを探してきて、それのレイアウトをDrupalのテーマと合わせるようにカスタマイズして使うことにしました

http://yomi.pekori.to/yomi-mailer.html

フォームに入力フィールドを自由に設定できて、確認画面も表示され、送信控えも自由に修正できて、サーバーにデータが残らず、複数のフォームを作成することができて、私の思い通りに機能してくれています。

あたかも、Drupalのモジュールを使っているように見えます。(ただ、CGIのレイアウトのカスタマイズになれていないと難しいかも・・・。)

レイアウトを合わせる際の一番のネックは、文字コードの相違です。CGIはsjisでDrupalはutf8。 スタイルシート(*.css)に、fontを、"MS ゴシック"などと、日本語での記述がなければ、恐らく問題は生じないと思います。日本語での記述があっても、多少、表示される文字の字体が変わるだけだろうと思います。 それでも、CGI内のタグにスタイルでフォントを指定すれば、解決することは出来ます。

 

Trackback URL

http://www.homepage.ok-jp.com/trackback/175
No votes yet

にほんブログ村 IT技術ブログへ人気ブログランキングへ