Friends - Fess+Lasta
DBFluteとは直接無関係ながらも、親和性の高いフレームワークを紹介します。
Fessの概観
TODO jflute 書き途中
fessプロジェクト
fess - src/main/java
e.g. fessプロジェクトのsrc/main/java @Directory
fess
|-src/main/java // Fessプロジェクト共通クラス
| |-org.codelibs.fess // ★パッケージ構成要検討
| |-...
| |-lasta // FessのLasta対応パッケージ ★名前要検討
| | |-core // SAFluteのcoreを拡張したクラスなど
| | | |-direction // SAFluteをFessプロジェクト風にするところ☆
| | | |-sponsor // AssistantDirectorで設定する処理を切り出したクラスなど
| | | | |-FessActionAdjustmentProvider // 微調整
| | | | |-FessTimeResourceProvider // 時間リソース
| | | | |-FessUserLocaleProcessProvider // ロケール
| | | | |-FessUserTimeZoneProcessProvider // タイムゾーン
| | | |-FessConfig.java // fess_config 対応クラス(自動生成)
| | | |-FessEnv.java // fess_env 対応クラス(自動生成)
| | | |-FessFwAssistantDirector.java // Lastaの現場フィットを司る
| | | // ☆これが最強に大事
| | | // (各ドメインが継承して微調整オーバーライドする)
| | |
| | |-...
| | |-web // SAFluteのwebを拡張したクラスなど
| | |-action // Actionに関する拡張クラスなど
| | |-login // ログインに関する拡張クラスなど
| | |-paging // ページングに関する拡張クラスなど
| |-...
| |-web // ActionやFormのパッケージ ★★actionとformをこっちに移行
| | |-admin // 管理系のActionたち
| | |-base // Actionのスーパークラスなどの基盤 e.g. FessBaseAction
| | |-AppletAction
| | |-ErrorAction
| | |-IndexAction // トップページ (検索画面)
| | |-LoginAction
|
|-src/main/resources
|-src/test/java
|-src/test/resources
|-...
fess - src/main/resources
e.g. fessプロジェクトのsrc/main/resources @Directory
fess
|-src/main/java
| |-...
|-src/main/h2/resources/sql // H2のときだけ変な!?情報が残っちゃうから
| |-robot.ddl // fessの中でs2robotのDBを置き換え (手動同期)
|-src/main/resources // ★フォルダ分けするか要検討
| |-device // ★★削除 (がらけー)
| |-META-INF // ★★削除
| |-app.dicon // ★整理: アプリ情報が埋め込まれている
| |-application_ja.properties // ★fess_message_ja.propertiesに移行
| |-application.properties // ★fess_message.propertiesに移行
| |-convention.dicon // Seasarのスマートデプロイのルートパッケージを決める dicon
| |-creator.dicon // SeasarのスマートデプロイのCreatorを定義した dicon (web用)
| |-customizer.dicon // ★taskが不要? SeasarのスマートデプロイのCustomizerを定義した dicon (web用)
| |-env.txt // Seasarのアプリ実行時の環境タイプ (ローカル環境用なのでut)
| |-fess_api.dicon // JSONとXMLを戻すためのコンポーネント (Filterから呼ばれる)
| |-fess_config.properties // Fessプロジェクト共通のコンフィグ
| |-fess_dist.dicon // 辞書管理系のコンポーネント
| |-fess_ds.dicon // Web以外のデータをクロールするコンポーネント
| |-fess_env.properties // Fessプロジェクト共通の環境依存コンフィグ
| |-fess_job.dicon // FessのJobのコンポーネント
| |-fess_message_ja.properties // Fessプロジェクト共通の日本語リソース
| |-fess_message.properties // Fessプロジェクト共通の英語リソース
| |-fess_label_ja.properties // ★★まだない
| |-fess_label.properties // ★★まだない
| |-fess_suggest.dicon // Fessのサジェスト機能のコンポーネント
| |-fess.dicon // Webとコマンドで共通の入り口となるfessのdicon
| |-FESSMessages.properties // エラーログのメッセージリソース
| |-jdbc.dicon // JDBCの接続 (ユーザーが利用するDBMSに合わせて変更する)
| |-log4j.xml // そのまんまLog4j
| |-quartz.properties // そのまんまQuartz
| |-jdbc.dicon // DB接続dicon (urlなどはConfigから取得するようにしている)
| |-s2container.dicon // Seasarの大事なdicon (S2ClassBuilder定義含む)
| |-s2robot_contentlength.dicon // 以下、S2Robotの定義でFessで差し替えの必要なものだけ
| |-s2robot_db.dicon
| |-s2robot_interval.dicon
| |-s2robot_jdbc.dicon
| |-s2robot_log.dicon
| |-s2robot_rule.dicon
| |-s2robot_transformer.dicon
| |-saflute_assist++.dicon // Config や AssistantDirector を追加するdicon
| |-solrlib.dicon // Solrのためのコンポーネント
|
|-src/test/java
|-src/test/resources
|-...
fess - others (webapp)
e.g. fessプロジェクトのsrc/main/[others] @Directory
fess
|-src/main/java
|-src/main/resources
|-src/test/java
|-src/test/resources
|-.settings
|-solr // テスト用のSolr
| |-conf
| |-elevate.xml // キーワードブーストの設定
| |-protwords.txt // 英語の活用変換に関する設定
| |-schema.xml // Solrのスキーマ情報、fieldの定義など
| |-solrconfig.xml // Solrの設定
| |-stopwords.txt // 英語のStopword設定
| |-synonyms.txt // シノニム定義
|-src
| |-config
| | |-eclipse
| | |-formatter // mavenのcompileで最終的にフォーマットするためのもの
| | |-java.xml // Javaのフォーマッター (DBFluteと同じ)
| | |-javascript.xml // JavaScriptのフォーマッター
| |-etc // mavenのpluginから呼ばれる
| | |-header-definition.xml // ソースコードのヘッダーの定義 ★誰から呼ばれる?
| | |-header.txt // ソースコードのライセンスヘッダー
| |-main
| |-config // ★★消す
| | |-h2
| | | |-fess.ddl // H2用のFessDBのDDL
| | |-mysql
| | | |-fess.ddl // MySQL用のFessDBのDDL
| | |-oracle
| | | |-build-create.xml // fess.ddlを実行するためのAntタスク
| | | |-fess.ddl // Oracle用のFessDBのDDL
| | | |-update-schema-xml.sh // TODO jflute
| | |-tablemeta.properties // TODO jflute
| |-h2
| | |-resources/sql
| | | |-robot.ddl // H2用のS2RobotDBのDDL
| | |-webapp/WEB-INF/db
| | |-fess.mv.db
| | |-robot.mv.db
| |-mysql
| | |-resources
| | | |-jdbc.dicon // TODO jflute
| | | |-s2robot_jdbc.dicon // TODO jflute
| | |-webapp/WEB-INF
| | | |-cmd/resources/app.dicon // TODO jflute
| | | |-web.xml
| |-webapp // fess本体のWebアプリ
| |-css
| |-images
| |-js
| |-WEB-INF
| |-cachedirs // 検索結果のスクリーンショットの一時置き
| |-cmd // コマンドのホームディレクトリ
| | |-lib // コマンドで必要なjarたち
| | | |-geronimo-servlet_2.4_spec-1.0.jar // ★Lastaで不要になるか!?
| | |-resources // コマンドで優先するresources
| | |-app.dicon // コマンドのapp.dicon、コマンド用のコンポーネント定義
| | |-creator.dicon // 画面用のものを除外
| | |-customizer.dicon // 画面用のものを除外
| |-conf // 動的に書き換えるプロパティなどを置くところ e.g. 失敗したSolrサーバー名とか
| |-logs // 画面とクロールで吐いたログの置き場
| |-mail // メールのテンプレート ★MailFluteで置き換え
| | |-crawler.hbs
| | |-solr_status.hbs
| |-orig // JSPの復元のため
| | |-jnlp // ★★これはなくなる
| | |-open-search/osdd.xml // ★OSDD: あとで調べる
| | |-view // 復元用のJSPたち
| |-view // JSPたち
| |-fe.tld // Fessのタグリブ定義?ここに置いておけばTomcatから読まれる
| |-struts-config.xml // ★消える運命
| |-validator-rules.xml // ★消える運命
| |-web.xml
|
|-target
|-.classpath // コミット対象外、mavenで自動生成される
|-.gitattributes // Gitの改行コードの制御
|-.gitignore
|-.project
|-LICENSE
|-pom.xml
|-README.md
fess-dbプロジェクト
fess-db-h2の全体
e.g. fessプロジェクトのsrc/main/java @Directory
fess
|-src/main/java
| |-org.codelibs.fess.db // DBFluteのパッケージ
|-src/main/resources
| |-org.codelibs.fess.db.exbhv // DBFluteの外だしSQL
| |-dbflute.dicon // DBFluteのBehaviorのコンポーネント定義
|
|-dbflute_fess
| |-dfprop
| | |-...
| | |-basicInfoMap.dfprop // DBFluteの基本となる設定 (自動生成パッケージなど)
| | |-...
| | |-databaseInfoMap.dfprop // DBFluteエンジンの接続DB情報
| | |-...
| | |-documentDefinitionMap.dfprop // ドキュメントの設定 (PropertiesHTMLも)
| | |-...
| | |-freeGenDefinitionMap.dfprop // FreeGenの設定 (propertiesなど)
| | |-...
| | |-replaceSchemaDefinitionMap.dfprop // ReplaceSchemaの設定
| | |-...
| |-extlib
| |-freegen // FreeGenのテンプレート置き場
| | |-ControlFreeGen.vm // FreeGen実行時のコントロールファイル
| | |-JspPath.vm // JSPパスの定数のテンプレート
| | |-SystemConfig.vm // Configインターフェースのテンプレート
| | |-UserMessages.vm // ActionMessagesのテンプレート
| |-log
| |-output
| |-playsql // ActionMessagesのテンプレート
| | |-replace-schema.sql // fessのDDL (drop文は不要)
| | |-take-finally.sql // テストデータ登録後のDDL
| |-schema
| |-_project.bat
| |-_project.sh
| |-_readme.txt
| |-build.properties
| |-manage.bat
| |-manage.sh
|-...