it-swarm.com.de

So aktivieren Sie die Aktualisierungssite einer Erweiterung erneut

Ich habe eine Erweiterung als Paket geliefert, die ein Modul, ein Plugin und eine Komponente kombiniert.

Ich habe das übliche updateserver-Tag in meinem Manifest:

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

und eine entsprechende Datei, die auf dem Server gehostet wird. Ein Tag in dieser Datei wurde nicht ordnungsgemäß eingerichtet, funktionierte jedoch bis vor einigen Versionen. dann boom! Aufgehört zu arbeiten. (Das Paket wurde als Administrator anstelle der Site festgelegt). Also habe ich es behoben und es hat wieder funktioniert.

Hier kommt das Problem: Die Update-Site wurde in den meisten meiner Test-Sites aufgrund des Fehlers deaktiviert. Und während Joomla 2.5 einen schönen "Cache leeren" -Button auf der Erweiterungs-Update-Seite hat:

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

welches das aufrief

administrator/components/com_installer/controllers/update.php:purge()

funktion, die ihrerseits die Funktion enableSites() im Aktualisierungsmodell aufrief.

Leider kann ich eine solche Schaltfläche in Joomla 3 nicht finden. Und ich habe versucht zu debuggen, aber ich kann nicht sehen, wie diese Funktion aufgerufen wird.

Hilfe! Dreitausende Benutzer stecken mit einer alten Version fest und wissen es nicht!

Update: Ich habe einen Fehler gemeldet: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=34043&start=

2
Riccardo Zorn

Kommentar zum Joomlacode-Problem von Brian:

"Dies wurde bereits behoben und wird in Version 3.4 veröffentlicht."

3.4 sollte in Kürze veröffentlicht werden. Die gesamte Diskussion fand hier statt: https://github.com/joomla/joomla-cms/pull/3775

1
Riccardo Zorn

Gehen Sie zu Options für Joomla 3 Installation Manager Und setzen Sie den Wert für "Updates Caching (in Stunden)" auf 0 (Null).

Joomla 3 Installer Manger Options

Entsprechend den JUpdater Dokumenten in der findUpdates($eid = 0, $cacheTimeout = 0), wenn es auf Null gesetzt ist, werden die Aktualisierungsinformationen neu geladen.

/**
 * 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