web-dev-qa-db-ja.com

拡張機能の更新サイトを再度有効にする方法

モジュール、プラグイン、コンポーネントを組み合わせた拡張機能をパッケージとして出荷しています。

マニフェストに通常のupdateserverタグがあります。

_<updateservers>
    <server type="extension" priority="1" name="myext">http://www.fasterjoomla.com/myext.xml</server>
</updateservers>
_

サーバーでホストされている対応するファイル。このファイルのタグは適切に設定されていませんが、数バージョン前まで機能していました。その後ブーム!動作を停止。 (パッケージはサイトではなく管理者として設定されました)。だから私はそれを修正し、それは再び働き始めました。

ここで問題が発生します。ほとんどのテストサイトで、エラーのために更新サイトが無効になりました。また、Joomla 2.5の拡張機能の更新ページには、「キャッシュのクリーン」ボタンがあります。

_/administrator/index.php?option=com_installer&view=update
_

を呼び出した

_administrator/components/com_installer/controllers/update.php:purge()
_

関数は、更新モデルのenableSites()を呼び出しました。

残念ながら、Joomla 3でそのようなボタンを見つけることができません。デバッグを試みましたが、この関数がどのように呼び出されるかわかりません。

助けて! 3千人のユーザーが古いバージョンに行き詰まり、それを知らない!

更新:バグを報告しました: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=34043&start=

2
Riccardo Zorn

ブライアンからのjoomlacodeに関する問題についてのコメント:

「これはすでに解決されており、3.4リリースに含まれる予定です。」

3.4はまもなくリリースされます。すべての議論はここで行われました: https://github.com/joomla/joomla-cms/pull/3775

1
Riccardo Zorn

Joomla 3 _Installation Manager_のOptionsに移動し、[更新のキャッシュ(時間単位)]の値を0(ゼロ)に設定します。

Joomla 3 Installer Manger Options

JUpdaterのドキュメントによると、findUpdates($eid = 0, $cacheTimeout = 0)のドキュメントは、ゼロに設定されている場合、更新情報を強制的に再読み込みします。

_/**
 * Finds an update for an extension
 *
 * @param   integer  $eid           Extension Identifier; if zero use all sites
 * @param   integer  $cacheTimeout  How many seconds to cache update information; if zero, force reload the update information
 *
 * @return  boolean True if there are updates
 *
 * @since   11.1
 */
public function findUpdates($eid = 0, $cacheTimeout = 0)
_
1
Craig