web-dev-qa-db-pt.com

Servidor de atualização para um pacote ou extensão individual

Estou um pouco confuso e preciso de algumas recomendações para uma melhor abordagem para configurar um servidor de atualização para uma coleção de extensões.

Eu tenho um componente, biblioteca e um plugin que eu coloquei dentro de um único pacote. Eu recebi um manifesto de pacote xml e também recebi um manifesto individual para cada componente, biblioteca e um plugin.

Devo ter o servidor de atualização no nível do pacote como coleção? Ou devo ter um servidor de atualização para cada extensão?

Alguma recomendação?

Atualização (26/01/2016): Foi através deste link link e não está me fornecendo nenhuma informação sobre atualização de pacote ... Devo ir com um tipo de coleção ???

7
Malaiselvan

Após 3 dias de luta, sou capaz de encontrar uma maneira de atualizar automaticamente o pacote. Não tenho certeza se esta é a maneira correta. Mas funciona para o meu cenário.

Atualizadores

Suponha que meu nome de componente seja com_mycomponent E eu recebi o arquivo mycompnent.xml (Manifesto). Nesse arquivo, atualize os servidores como abaixo. Coloquei o código abaixo após a tag adminstration.

<updateservers>
  <server type="extension" priority="2" name="My Package Updates">http://example.com/update_package.xml</server>
</updateservers>

Sim, eu uso o arquivo de manifesto do componente para atualizar meu pacote

Crie o pacote

-- pck_mypackage
   -- com_mycomponent.Zip
   -- lib_mylibrary.Zip
   -- lib_myplugin.Zip
-- script.php
-- pck_mypackage.xml

pdate_package.xml

<updates>
  <update>
    <name>My Package Update</name>
    <description>Some description</description>
    <element>pkg_mypackage</element>
    <client>0</client>
    <type>package</type>
    <version>1.0.1</version>
    <infourl title="Some title">http://www.example.com/</infourl>
    <downloads>
      <downloadurl type="full" format="Zip">http://example.com/pkg_mypackage_101.Zip</downloadurl>
    </downloads>
    <tags>
      <tag>stable</tag>
    </tags>
    <targetplatform name="joomla" version="3"/>
  </update>
</updates>

Isso é tudo. O atualizador agora procura a atualização para o componente e instala o pacote.

4
Malaiselvan

Na verdade, você pode fazer isso usando apenas a extensão do pacote (e essa provavelmente seria a melhor maneira de fazer isso). Longo e curto, você basicamente tem tudo certo, basta transferir seu <updateservers> elemento do manifesto do componente para o pacote.

Alguns exemplos da minha própria extensão:

3
Michael