[TUIGWAA-113] tgw_plugin 系のエンティティの情報が model.ecore に保存されない Created: 29/Sep/06  Updated: 16/Oct/06  Resolved: 16/Oct/06

Status: Resolved
Project: Tuigwaa
Component/s: controller, model, plugin
Affects Version/s: 0.9.1
Fix Version/s: 1.0.1

Type: Bug Priority: Major
Reporter: takishita Assignee: nishioka
Resolution: Fixed Votes: 0
Labels: None


 Description   

tgw_plugin_comment,tgw_plugin_trackback
などのエンティティ情報が、model.ecore に記述されない。

再起動時にはテーブル一覧に出力されない。
いずれかのページでコメントプラグインを利用すればテーブル一覧に出現し、
前回の内容も閲覧可能である(当然DBにはデータが残っているので)

どうやら、メモリ上には設定が記述されているが、moder.ecore には記述されない模様。

同時に、前回作成したフィルタ等が利用できないなどの問題が発生しているので、こちらも確認されたし。

1. 新しくデプロイしたサイトを用意
2. tgw_plugin_comment と、同テーブルに対するフィルタを含む tgwar をアップロード
この時点で、テーブル一覧に tgw_plugin_comment は出力されない
3. コメントを含むページにアクセス
この時点で、テーブル一覧に tgw_plugin_comment が出力される
しかし、model.ecore への出力は行われていない
以前作成したフィルタは閲覧できない(ただし、dicon への設定は残っている)

ということで困りました。



 Comments   
Comment by someda [ 29/Sep/06 ]

FileData への変更時に、class ファイルを利用したプラグインのデータベース情報については、model.ecore に永続化されないようになりました。

若干タイミングの問題が残りますが、通常の Plugin の呼び出し時の initialize 処理で呼ばれる
AbstractTgwPlugin#requireEntity メソッド内で、entity を作成した後に、dao/tgw_plugin_*.dicon
を読みこみ、FunctionList と Controller を更新する処理を差込ました。

これで、そのプラグインを読み込んだ後については、フィルタ、カスタムフォームなどを利用する
ことができます。

問題点としては、該当の View を担当するプラグインが読まれる前に、そのテーブルに対する
カスタムフォームや検索フォームが呼ばれるといった、通常のテーブルの利用方法が呼び出されると
その時点では、Function が存在しないので、エラーとなってしまいます。

dao/tgw_plugin_*.dicon の読み込みタイミングについては要検討。

Comment by someda [ 29/Sep/06 ]

サイトアップロードの際に、プラグイン用のデータベースのバックアップがとられていても、
サイト構築時には該当のドメイン設定内にプラグインのテーブルが含まれない為、リストアされない。

ワークアラウンドとしては、

  • サイト上で、該当のプラグインを表示 (該当ドメインにプラグインテーブルを追加)
  • Tuigwaa マネージャでデータのリストア

となる。

やはり、プラグインテーブルの初期化はサイト構築時に行った方がスムーズのように思われる。

Comment by nishioka [ 16/Oct/06 ]

ファイルのバイナリーデータ入力用テーブル以外は
plugin 用テーブルは保存するように戻しました。

Generated at Thu Nov 14 13:51:30 JST 2019 using JIRA 7.9.2#79002-sha1:3bb15b68ecd99a30eb364c4c1a393359bcad6278.