Nucleus v3.65
- カテゴリ: NucleusCMS
- 投稿日時: 2012/12/01(土) 22:43:21
今日は一日雪が舞う天気。周囲の山は真っ白です。一気に冬になってしまいました。寒いですね。
2012年10月17日にNucleus CMSの新しいバージョンv3.65が公開されました。
いろいろ忙しくて気づかずにいたのですが、11月2日にダウンロード、サイトの更新作業を行いました。
マイナーバージョンアップだし特に問題もないと思っていたのですが、実は結構大問題が発生していました。
異変に気付いたのはこの記事を投稿しようとした時です。既存のカテゴリからちょっと外れる内容だし、関連する話題が長く続きそうだったので新しいカテゴリをつくることにしました。
当ブログでは Multiple Categories というプラグインを使っています。Nucleus本体だけだとカテゴリの階層化ができません。それを補うプラグインです。今回の記事はサブカテゴリの増設が必要だったので、プラグインの管理メニューから新しいサブカテゴリを作成しようとしました。でもできません。なんどやってもダメでした。
その時点で、自PCにインストールしてあるテスト環境はまだv3.64でした。試しにそちらで同じ操作をしてみました。問題なく新しいカテゴリが作成できました。そこで本番環境のDBバックアップをとり、テスト環境にインポート、テスト環境で更新した後で本番環境に移しなおすことでひとまずお茶を濁しました。
困ったときのサポートフォーラムということで、公式サポートフォーラムへ質問を投稿。ほどなく識者から回答が得られました。
http://japan.nucleuscms.org/forum/viewtopic.php?pid=29648#p29648
どうやら他のプラグインでも問題が頻発しているらしく、突き詰めるとv3.65で行われた「PHP4に由来する、PHP5では文法違反となるコードの修正」が原因のようです。
サポートフォームの別の記事に、原因と具体的な対処方が説明されています。
http://japan.nucleuscms.org/forum/viewtopic.php?pid=29657#p29657
引用します。
恐らく、最新版のManagerクラスのnotify関数の第二引数へarray関数を定義できなくなったことに起因していると思います。 対処法としては、プラグイン内のコードで$manager->notify()を呼び出す際に第二引数にarray()を直渡ししている場合、直前でarray()を変数に格納するようにし、$manager->notify()へは変数を渡すようにします。
その後、自サイトに設置してあるサイト内検索がうまく動いていないことに気づきました。検索は SearchResults EX というプラグインで実現しています。SearchResults EX は ExtensibleSearch というプラグインがないと動きません。その両方に対して、上記の改造を施してみました。結果うまくいきました。
v3.65における変更点は公式サイトに記載されています。
http://japan.nucleuscms.org/index.php?itemid=221
この説明を読んで、あなたは対処方法が理解できますか? プラグイン作者ではない一介のユーザーであるわたしにはできません。
NucleusというCMSは、コアにはCMSとしての必要最小限の機能しかありません。そのかわりプラグインの作成に対しては敷居が低く、必要な機能を様々なプラグインを用いて自分好みに仕立てられるというのが最大の魅力だったのではないかと思います。
コアをPHP5の文法に適合させるのは結構ですが、既存のプラグインがついてこれないでしょう。
なにかもっと別のやり方はなかったのでしょうか。
プラグインなくしては何もできないのと同義です。つまりNucleusはもう終わったと思わざるを得ません。
そろそろほかのCMSへの移行をする時期が来たのかもしれません。
データの移行は大した問題ではないです。問題はサイト構造の変更により検索エンジンに引っかからなくなることでしょうね。まあそれも仕方なし。いちから構築し直しますか。
まずはローカル環境で検証してから、ですがね。
ちょっと辛辣な表現になってしまいましたが、いちユーザーの声ということでご理解ください。
Tweet
コメント
この記事へのコメントはありません