プラグインを新しいバージョンに変えるとき,ファイルの更新だけで済めば問題ないですが,
アンインストールと再インストールが必要な場合が多々あります。
このときせっかく設定したオプションの値がすべて初期値に戻ってしまうのを何とかしようという
プラグインです。
同じオプション名で,同じ種類(グローバル,ブログ,カテゴリなど)のオプションがある場合,
そのオプションの値をアンインストール前の値に戻します。
最大1日間値を保持します。
設定はこの機能をオフにするかどうかだけです(デフォルトはオン)。
オフライン
(的外れな事を書いていましたら、すみません。:oops:)
アンインストール時に、「deleteOption」しているプラグインのオプションがバックアップできないようなのですが、これはもうしょうがないですよね。
各プラグインでパラメータを変更したときに、PostPluginOptionsUpdateイベントでバックアップを取ってしまうのも、ひとつの方法かなとも思うのですが、プラグインによっては、「プラグインの編集ページ」以外でsetOptionする場合もありますよね。
その場合でも、PostPluginOptionsUpdateで拾えるのかもしれませんが、常にプラグインのオプションの値を監視し続けるのもどうなのかな?とも思います。
NP_RetainOptionsのコンセプトから外れてしまうような気がしますので。
それで僕は、アンインストール時に、「deleteOption」しているプラグインを事前に把握しておき、それ以外のプラグインに対して活用させていただいております。
オプションの値を監視し続けるプラグインにするより、その方がスマートかなと思っております。
すっごく便利です。
僕のブログでは、プラグインのテストを頻繁にするので、もう手放せません。:D
ありがとうございます。
各種プラグインを紹介するblog(鯖更新忘れ死亡中)
スキン・テンプレ変数を紹介するブログ(復活)
http://reference.nucleus.satona.net/
wa - Nucleusやウェブネタなど
http://wa.otesei.com/
オフライン
そもそもアンインストール時にわざわざdeleteOptionするということは,
値を残すなということかもしれません←これはこじつけです
deleteOptionしなくてもアンインストールするとオプションは全部消えますから,
プラグインのソースからdeleteOptionをはずすことをオススメします。
オフライン
そもそもアンインストール時にわざわざdeleteOptionするということは,
値を残すなということかもしれません←これはこじつけです
そうかも:lol:
deleteOptionしなくてもアンインストールするとオプションは全部消えますから,
プラグインのソースからdeleteOptionをはずすことをオススメします。
そうっすね、そうします。
各種プラグインを紹介するblog(鯖更新忘れ死亡中)
スキン・テンプレ変数を紹介するブログ(復活)
http://reference.nucleus.satona.net/
wa - Nucleusやウェブネタなど
http://wa.otesei.com/
オフライン
hsurさんのご協力で,プラグインオプション名に"が入っていたときに保存できない問題を解決しました。
http://japan.nucleuscms.org/wiki/plugins:retainoptions
からダウンロードしてください。
オフライン
NP_RetainOptionsを使用させていただいています。
NP_ExtendMemberを改造して、新しく項目を追加する際にメンバー情報を保持するために使用していますが、
textareaの項目が255byte以上あると、それ以降の保存されていた部分が消えてしまい困っています。
他の記事でもDBの規定の上限が255byteというのはありました。
しかし、すでに255byte以上保存されていたので、それ以上保存できると思うのですが、
何か解決策はあるのでしょうか?
NP_ExtendMemberにアンインストールオプションをつけるのがいいと思い、
他のプラグインを参考にしていますが、install時の
mysql_query("CREATE TABLE IF NOT EXISTS ". sql_table("???")
以降の書き方がわからずつまづいています。
ご教授よろしくお願いいたします。
オフライン
NP_RetainOptionsを修正しておきました。(ぼくも助かりました)
http://japan.nucleuscms.org/wiki/plugins:retainoptions
からダウンロードできます。
NP_RetainOptionsを一旦アンインストールする必要があります。
255byteを超えるオプション値も保存できるようになっていると思います。
Myu-yaさん、お試しください。
各種プラグインを紹介するblog(鯖更新忘れ死亡中)
スキン・テンプレ変数を紹介するブログ(復活)
http://reference.nucleus.satona.net/
wa - Nucleusやウェブネタなど
http://wa.otesei.com/
オフライン
佐藤(な)さん,ありがとうございます。
最近プラグインをいじる時間がなくて困っています。
やらなきゃいけないことはいろいろ溜まっているのですが。
オフライン
対応ありがとうございます。
早速導入しようと思ったのですが、アンインストールの手順を間違えてしまい、
(新しいプラグインをアップロード後→アンインストールを選択)
プラグインの削除時に
mySQL error with query DROP TABLE nucleus_plug_retainoptions_plugin: Unknown table 'nucleus_plug_retainoptions_plugin'
mySQL error with query DROP TABLE nucleus_plug_retainoptions_options: Unknown table 'nucleus_plug_retainoptions_options'
mySQL error with query DROP TABLE nucleus_plug_retainoptions: Unknown table 'nucleus_plug_retainoptions'
のエラーが出ます。
プラグイン管理画面へ戻ると、登録リストのアップデートとプラグインのインストール部分が表示されなくなってしまいました。
新しいバージョンのアンインストールオプションの部分をコメントアウトしたり
DBにエラーが出た3つのテーブルを作成してみても、削除後の表示が真っ白になり、
プラグインのインストール等の部分が表示されないままです。
DBのnucleus_plugin からRetainoptionsを削除しても同様でした。
今まで改造したプラグインの記述のミス(;が抜けていたりとか)で
プラグインのインストール等の部分が表示されないことはあったのですが、それと同じ状態です。
自分のミスでこのようになってしまったのですが、どのようにすれば元に戻るでしょうか?
見当違いもあるかもしれませんが、よろしくお願いします。
オフライン
http://blog.cles.jp/item/1528
この方法で、一旦NP_RetainOptionsを強制的にアンインストールした後で、サイドインストールしなおせば大丈夫じゃないかと
オフライン
(新しいプラグインをアップロード後→アンインストールを選択)
プラグインの削除時にmySQL error with query DROP TABLE nucleus_plug_retainoptions_plugin: Unknown table 'nucleus_plug_retainoptions_plugin'
mySQL error with query DROP TABLE nucleus_plug_retainoptions_options: Unknown table 'nucleus_plug_retainoptions_options'
mySQL error with query DROP TABLE nucleus_plug_retainoptions: Unknown table 'nucleus_plug_retainoptions'のエラーが出ます。
先にアップロードしていても、問題ないはずなんですが。。。
一度、shizukiさんが書いてくださった方法(shizukiさん、hsurさん、TNKU!)を、お試しください。
ひょっとして、zip圧縮関連かなぁ、、
解凍された、NP_RetainOptions.php ファイルを開いてみて、
ちゃんと最後の、
?>
までありますか?
各種プラグインを紹介するblog(鯖更新忘れ死亡中)
スキン・テンプレ変数を紹介するブログ(復活)
http://reference.nucleus.satona.net/
wa - Nucleusやウェブネタなど
http://wa.otesei.com/
オフライン
ありがとうございます。
FTPから削除して、というのも試していて、それでもエラーがでていたのですが、
DBと表示つきあわせて原因が特定できました。
DBにはNP_Moblogの項目があるのに、プラグイン管理にはNP_Moblogが表示されていなくて、
NP_MoblogをFTPから削除したら表示されるようになりました。
NP_RetainOptions.php はDBのnucleus_pluginの項目を削除していたので、
正常に稼働しているのを参考にDBに値を追加し直して、リンク先の手順で削除して、
再インストールして動くようになりました。
ただ、NP_MoblogがDB含めアンインストールして、最新版をインストールしても
プラグイン画面の下が表示されなくなってしまいました。
(思えば最新版をアップロードした時点で何かおかしかったような気もします)
まったく同じNP_Moblogの解凍ファイルとNP_RetainOptions.phpを別サーバにいれたら、ちゃんと表示されるのですけど。
よくわからない結果になってしまいました。
オフライン
追記です。別のプラグイン(NP_Google Maps)をアップデートしようと思い、FTPでプラグインフォルダにアップロードすると、その時点でプラグインのインストール等の部分が表示されなくなります。
そのプラグインも動作しなくなり、前に使用していたのバージョンを再アップロードしたら元に戻ります。NP_RetainOptionsを一度アンインストールしても同様です。
改造しているExtendMemberをいじってアップロードした時はそのようにはならなかったのですが・・・
DBいじったのがまずかったのか、他のプラグインとの相性なのか、
このままだとプラグインのアップデートが行えません。
元通り正常に動くようにしたいのですが、どのあたりが怪しいかわからないでしょうか?
それともやはり再インストールして構成しなおすのが一番なのでしょうか。
インストールしているプラグインは
NP_0TicketForPlugin
Customized URL
SkinFiles
Access Control
TextWiki for Nucleus
ItemFormmail alpha
TinyMCE2J
Ez Comment
Google Maps
TrackBack
NewsfeedEX: Import RSS / XML News feeds in your weblog.
Calendar Plugin
Latest Writebacks
ImprovedMedia
Show Blogs
Member Items
CommentLink
Blacklist(JP)
AddSpamCheckEvent
ExtendMember(改造)
Retain Options
の21個です
オフライン