パッケージまたは個々のエクステンションの更新サーバー


7

私は少し混乱しており、拡張機能のコレクション用の更新サーバーをセットアップするための最良のアプローチについていくつかの推奨事項が必要です。

コンポーネント、ライブラリ、プラグインを1つのパッケージに入れました。パッケージxmlマニフェストを取得し、各コンポーネント、ライブラリ、プラグインの個別のマニフェストも取得しました。

コレクションとしてパッケージレベルの更新サーバーを用意する必要がありますか?または、拡張機能ごとに更新サーバーを用意する必要がありますか?

何かお勧めですか?

更新(2016年1月26日):このリンクリンクを通過しましたが、パッケージのアップグレードに関する情報が提供されていません...コレクションタイプを使用する必要がありますか?

回答:


4

3日間の苦労の後、パッケージを自動更新する方法を見つけることができました。これが正しい方法かどうかはわかりません。しかし、それは私のシナリオでは機能します。

アップデートサーバー

私のコンポーネント名がでcom_mycomponentあり、mycompnent.xml(マニフェスト)ファイルを取得したと仮定します。そのファイルで、以下のようにサーバーを更新します。adminstrationタグの後に以下のコードを配置します。

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

はい、コンポーネントのマニフェストファイルを使用してパッケージを更新します

パッケージを作成する

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

update_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>

それで全部です。アップデーターはコンポーネントのアップデートを探し、実際にパッケージをインストールします。


あなたは正しいです。データベース#__updatesを確認したところ、クライアントIDが0のすべての言語ファイルが見つかりました。そのため、xmlファイルにクライアント部分を含めると、機能し始めました。しかし、Joomlaのドキュメントはこれについて言及していません。クライアントIDはモジュール、テンプレートにのみ必要であると彼らは言った。Joomla Devsはドキュメント部分を真剣にチェックする必要があると思います。
アミット

3

実際には、パッケージ拡張機能のみを使用してこれを行うことができます(これはおそらく、そうするための最良の方法です)。長くて短くても、基本的にはすべてが正しく、<updateservers>コンポーネントのマニフェストからパッケージの要素に要素を転送するだけです。

私自身の拡張からのいくつかの例:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.