検索結果のフィルタ表示

昨日もTuigwaa1.0で事例蓄積(これはナレッジマネジメントなんだろうか)サイトをせっせと作ってました。

  • システムの目的
    • 社内で色んな製品(プロプライエタリOSS限らず)を使った際のTIPSとかを一元管理
    • それと分類とかで探せるように簡単な検索機能を備える
  • システム環境(自マシンテスト環境ですが・・・)
    • WindowsXP SP2
    • J2SDK1.5.0_7
    • Tuigwaa1.0
    • Tomcat5.5.7
    • PostgreSQL8.1forWindows

次にテーブルレイアウト

事例情報テーブル

ID id ID(整数)
概要:文字列 必須 通常の文字列
分類:関連データ 必須 事象種別テーブル
詳細:文字列 必須 文章
原因:文字列 必須 文章
発生条件:文字列 必須 文章
回避策:文字列 必須
対策:文字列 必須 文章
情報提供元担当者:文字列 必須 通常の文字列
製品名 cm01_productname 文字列 必須 通常の文字列
登録日 cm01_registdate 日付 必須 1 年前 から 1 年後 まで
添付ファイル cm01_file ファイル

つづいて分類テーブル

ID id ID(整数)
種別名称:文字列 通常の文字列

テーブルレイアウトに関してはDB設計なんぞまったくしてません。
必要な情報をカラムとして羅列しただけ。

作成したページは

  • トップページ(ここに一覧を表示)
  • 検索ページ
  • 詳細ページ
  • 登録ページ

という至ってシンプルかつ適当な感じ。

で、いつも通り問題にぶち当たったわけですが、順番に書いていきます。

  • 問題1
    • 事例情報の「原因」カラムや「対策」カラムで普通に文字数が足らない
    • Tuigwaa上で「文章」を選択してDBを定義するとDBにはvarchar(255)で定義されるので255以上は入らない為。
  • 回避策
    • 得意の強引技発動。pgAdminで文字列長がオーバーしそうなところはvarcharからtextに手動で変更。今のところ問題なし
    • 今書いてて思ったけど、普通にvarchar(512)とかすればよかったかな・・・。
    • ただし、Tuigwaの登録ページからDBに登録する際に255文字以上で登録しようとするとvalidateで普通に弾かれます。(後でここらへんいじらないと)
  • 問題2
    • 検索結果にフィルタが適用できない
    • 事例情報テーブルに対する検索フォームの結果が全カラム表示されちゃう
      • MLに投げたらやり方を西岡さんが教えてくださいました。Thanks!