これは、いくつかのことを考慮して、しばらくの間興味を持っていたものです。
「ワンクリック」アップグレードは、JoomlaのEoLの前にどの程度改善されますか? 2.5?
現在、2.5からのアップグレードの成功率は非常に低く、アップグレードだけでは解決できない互換性の問題が数多くあり、ほとんどの場合、プロセスを完了するには手動での編集が必要です(JHTMLの問題が最も一般的です)。見る)。
ここで「問題」と言いますが、更新後に意図したとおりに機能しないということは、「更新」コンポーネントが壊れていることを意味するものではありません。
私は周りを見回しましたが、次のものだけが見つかりました:
http://docs.joomla.org/Joomla!_CMS_versions
http://developer.joomla.org/cms/roadmap.html
1つ目は、2014年12月に予定されている2.5のサポートが廃止されることです。 2番目は3.xのロードマップを示しています。ただし、現在のところ、2.5からのアップグレードは非常に難しく、サイトが大きくなるほど難しくなります。何が成功し、何が失敗するのかはわかりませんが、ほとんどの場合、サードパーティの拡張機能に直接分離できません(不足しているテーブルから拡張マネージャーの中断などがあり、拡張マネージャーがそれを修正します)。
これは、アップグレードで本当の問題が発生する場所です。サイトがsobipro、k2、コンテンツビルダーなどの大規模なデータベース、または多くの記事/モジュールのみを使用している場合、アップグレードははるかに簡単に失敗します。それらを削除、無効化、またはアンインストールすることはできません(例:アンインストールすると4000以上のアイテムが失われ、その時点でサイトを再作成してアップグレードすることもできます)。
では、EoLに対応するために2.5から3.xへのワンクリックアップグレードを改善する計画はありますか? (ニュース記事やブログのような)奇妙な質問ですが、アップグレードできない2.5サイトがいくつあるのか、とても価値があると思います。
"ワンクリック"アップグレード Joomla! 2.5 コア。
ただし、サイトにもいくつかのテンプレートまたは拡張機能があり、これらもアップグレードする必要があります。
メインサイトの「6月」の移行も計画しています。これは私の計画です:
2.5から3.3へのアップグレードについては、手動でアップグレードすることもできました。バージョンは、2.5.20-> 3.0.3-> 3.1.6-> 3.2.4-> 3.3.0までです。
これは完全なプロセスです:
最新バージョンにアップグレードした後:
フルバージョンのアップロードには時間がかかるため、このプロセス全体に長い時間がかかりますが、頭痛の種を減らすことができます。
問題のある拡張機能の場合、これらは、アップグレード中に問題を引き起こしたものにすぎません。私の仮説は、インストールパッケージには実際にJ2.5とJ3.3のバージョンが異なるため、アップグレードすると混乱するというものです。誰か他の人を見つけたら、知らせてください。
これらの拡張機能は、最新のリリースを使用していない場合に問題を引き起こす可能性があります。
2.5.7から3.2.0にディレクトリをアップグレードできませんでした。これらのアップグレード中にさまざまなエラーが発生したため、まったくアップグレードできない場合があります。
私がとらなければならなかったアップグレードパス:
2.5.7→3.0.1→3.1.5→3.2.0
それ以来、私は正常にアップグレードすることができました。 3.2.2を実行していますが、まもなく3.3にアップグレードする予定です。
主な質問に答えるには:
「ワンクリック」アップグレードは、JoomlaのEoLの前にどの程度改善されるでしょうか。 2.5?
改善する予定はありません。コアに関しては問題なく動作しています。拡張機能の出力が変更されたため、テンプレートを交換する必要があります。他の拡張機能は手動でチェックする必要があります。それはそれらがどのように構築されているかによります。同じコードベースで2.5.15+と3.xの両方で機能する拡張機能を作成することが可能です。しかし、それを試すか、開発者に連絡する(またはFAQを読む)ことで確認する必要があります。
2.5で改善される可能性があるのは、アップグレード前の互換性チェックを追加することだけです。そのためにいくつかの作業が行われましたが、それは行き詰まりました。コミュニティの誰かがそれを拾い上げて、それを終わらせなければならないでしょう。
ここでは、アップグレードに関するいくつかの役立つ情報を紹介します。
まず、ウェブサイトが元々1.6だった場合、2.5にアップグレードしてから、最新バージョンの2.5でもすべての拡張機能が機能します。ただし、3.xにアップグレードするには再インストールが必要です。これは、「アップデート」領域の違いが1.6の場合、アップデートサーバーがアップデートを正しく読み取らないことを意味するため、少なくともコンポーネントが1.6の場合、少なくともほとんどの場合(これはDJ Image Sliderで見ました)およびBreezingForms)は、2.5にアップグレードすると更新されません。
したがって、2.5のライフタイムのある時点で、これらの拡張機能を手動でアップグレードする必要があります。拡張機能によっては、通常のSQL更新でも問題が発生する可能性があると思いますが、注意が必要です。
拡張機能の名前が変更または「更新」され、Joomlaがそれを新しいコンポーネントとして読み取る場合があり、同じコンポーネントの古いエントリと新しいエントリが複数作成されることがあります。 1つをアンインストールしても、同じデータベーステーブルが使用されるため、すでにインストールされている場合は、それらをクリアします。
アイデア:つまり、この場合に役立つと思うのは、古いバージョン用の拡張機能をチェックして、簡単に見えるようにするための拡張機能マネージャーへのアドオンです。現在のバージョンがそのバージョンを超えている場合、最後の更新「日付」を見て、Joomlaの潜在的な重大な変更の前でした。
いずれの方法でも、サイトが1.6から2.5になり、その後いつでも3.xになると、再インストールが強制されるため、データが消去されます。
別のアイデア:「再インストール」が更新の横に追加された場合は、古いバージョンとその更新サーバーを追跡するか、カスタムurl/uploadを使用して、データを消去せずにコンポーネントを基本的にアンインストールします。次に、SQL更新を使用してデータベーステーブルを更新しながら再インストールします。
私は元々1.6であったサイトを使用しています。これは、これらの問題をより頻繁に示すためです。2.5で始まったサイトでも発生する可能性があります。
これは、3.xに互換性を追加するためにアップグレードされなかった可能性のある拡張機能から発生する可能性のある多くの問題を説明しています。プラグインは管理パネルでもエラーが発生して管理パネルが使用できなくなるため、最悪です。
さらに別のアイデア:Joomla更新マネージャーは、他のすべてのサードパーティプラグイン(更新を追跡するため、akeebaなど)を自動的に無効にしてから更新できます。その後、すべてのプラグインを再度有効にしますが、システムプラグインにエラーがないか「チェック」します。つまり、try/catchを使用してさまざまなイベントを自動トリガーし、エラーがあるかどうかを確認します。エラーがある場合は、無効にして通知します。
現在、これはすべて、コアの問題がないことを前提としています。これは、アップデートでは通常発生しないはずの問題です。
上記で投稿したアイデアは開発チーム向けです。残りは更新する人にとって良い情報です。提案したアイデアは、拡張機能を最初にアンインストール/無効にすることなく更新を許可できるはずです。プロセスにさらに多くの作業を追加します。すでに優れたアップデーターにいくつかの追加があれば、完全自動更新(ちょっとワードプレスのようなもの)さえ将来的に可能になるかもしれません。
私が使用する手順は、約40のさまざまなJoomla 2.5から3.xミニ移行に進化しました。 「ワンクリック」ではありませんが、最も一般的な落とし穴を回避するのに役立ちます。私がフォローしているほとんどのWebサイトはRocketThemeテンプレートを使用しており、Joomla 3.xと同等のバージョンのJoomla 2.5テンプレートがあり、テンプレートの移行の問題は軽減されていますが、実際の距離は異なる場合があります。
最初にバックアップを実行してください!
Joomla 3.x互換でない拡張機能をすべてアンインストールします。
2.5.28になっていない場合はJoomla 2.5.28に更新し、サードパーティ製のすべての拡張機能を最新の利用可能なJoomla 2.5バージョンに更新します。
Akeeba Backupがインストールされている場合、「システム-更新時にバックアップ」プラグインを無効にする
グローバル構成で、エラー報告を「開発」に設定します(移行後にエラーが表示されるため、この手順を怠ると、FTPなどを使用してconfiguration.phpをダウンロードし、編集してメッセージを有効にし、更新されたバージョンをアップロードする必要があります。面倒なFTPなど)
コンポーネントの変更-> Joomlaアップデート->オプションの「短期サポート」
[コンポーネント]-> [Joomlaアップデート]で、[アップデートのインストール]をクリックして、2.5.xから3.5.1、3.5.1から3.6.5、次に3.6.5から最新バージョンにアップデートします。 Joomlaのキャッシュをクリアして、Extensions-> Extension Manager-> Updateでキャッシュを削除します。アップデートが提供されていない場合は、再試行してください。セッショントークンの更新が実行されると、1回または2回再認証が必要になる場合があります
コンポーネントを変更-> Joomla更新->オプション->チャンネルを「デフォルト」にまだ更新していない場合は「デフォルト」に更新
インストールされている拡張機能、特にChronoFormsとこれらのいずれかがインストールされている場合はChronoFormsアクションの上部に最新のJoomla 3.x拡張機能を再インストールします。
JoomlaのキャッシュとWebブラウザーのキャッシュをクリアする
グローバル構成で、エラー報告を「なし」に戻します。
Akeeba Backupがインストールされている場合、「システム-更新時にバックアップ」プラグインを再度有効にします
「System-Remember Me」プラグインを再度有効にします
「システム-Joomla!更新通知」プラグインを無効にして、Joomla更新通知をオフにします(オプション)。
Joomla 2.5テンプレートを削除します(atomic、beez5、beez_20、bluestork)
[コンテンツ]-> [記事]-> [オプション]-> [レイアウトの編集]でバージョン管理を有効にします(バージョン管理はデフォルトで無効になっています)
[ユーザー]-> [管理]-> [オプション]-> [ユーザーオプション]で[ユーザー登録を許可]を無効にします(これはJoomla 2.5でデフォルトで有効になっています)。
ステップ11は、インストールスクリプトがJoomla 2.5に最初にインストールされたときに実行されなかったJoomla 3固有のステップを実行できるようにするために重要です。
必要に応じてPHPバージョンを更新してください。現在サポートされているバージョンについては https://www.php.net/supported-versions.php を参照してください。
アップグレードする際に考慮すべきことがたくさんあるので、「ワンクリック」プロセスと見なすことはできません。
PHPのバージョンを最初に検討する必要があります。 Joomlaのバージョンも...はしごを次のバージョンに登る前に、常にツリーの最終バージョンにアップグレードしてください。 Akeeba CMSアップデーターを使用して、適用するアップデートとそのブランチを選択します。
エクステンションは本当に毛むくじゃらになる場所です。
SP Transferなどの拡張機能を使用すると、新しいバージョンでプレインストールできるセカンダリサイトを作成し、そのバージョン用にすべてのコンポーネントをインストールして、データベースから必要なすべてのデータをプルすることで、問題を減らすことができます。
ただし、このプロセスは一般的な日常のユーザー向けではありません。
たいていの場合、アセットテーブルにある程度の問題があり、通常はACL Managerの診断を使用して、テーブル内の孤立したアイテムや欠落しているアイテムを修正する必要があります。