web-dev-qa-db-pt.com

Como reativar o site de atualização de uma extensão

Eu tenho uma extensão enviada como um pacote, que combina um módulo, um plug-in e um componente.

Eu tenho a tag usual do servidor de atualizações no meu manifesto:

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

e um arquivo correspondente correspondente hospedado no servidor. Uma tag nesse arquivo não foi configurada corretamente, mas funcionou até algumas versões atrás; então boom! Parou de trabalhar. (o pacote foi definido como administrador em vez de site). Então eu consertei e ele começou a funcionar novamente.

Aí vem o problema: o site de atualização foi desativado na maioria dos meus sites de teste devido ao erro. E enquanto o Joomla 2.5 possui um bom botão "Limpar cache" na página de atualização de extensões:

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

que invocou o

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

, que por sua vez invocou o enableSites() no modelo de atualização.

Infelizmente, não consigo encontrar esse botão no Joomla 3. E tentei depurar, mas não consigo ver como essa função seria chamada.

Socorro! Três milhares de usuários estão presos a uma versão antiga e não sabem disso!

Atualização: registrei um bug: http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=34043&start=

2
Riccardo Zorn

Comente sobre o assunto no joomlacode de Brian:

"Isso já foi resolvido e estará na versão 3.4".

3.4 deve ser lançado em breve. Toda a discussão ocorreu aqui: https://github.com/joomla/joomla-cms/pull/3775

1
Riccardo Zorn

Vá para Options para o Joomla 3 Installation Manager E defina o valor "Updates Caching (in hours)" para 0 (zero).

Joomla 3 Installer Manger Options

De acordo com os documentos JUpdater na findUpdates($eid = 0, $cacheTimeout = 0) se estiver definido como zero, forçará o recarregamento das informações de atualização.

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