ありがとうございます。
これ、非常に助かります。
しかも、リリースノートまで返却されてきます。(5.7もXMLが良かった・・・)
5.7の方は、JSONっぽいですが、レスポンスヘッダーのContent-Typeはtext/htmlなんですね。
APP_VERSIONのパラメータが必須って所が少し、厳しい仕様ですが、助かります。
最新バージョンとダウンロードURLを取得したい
2015年7月12日 at 9:38
concrete5の新規インストール等を自動で実施するのに、
最新のバージョン番号と、ダウンロード先のURLが返却されるようなAPIがあったら教えて下さい。
最新バージョンのリリースノートのURLなども一緒に取得できたら良いのですが、
先ずは、バージョン番号とダウンロードURLがあれば嬉しいです。
よろしくお願い致します。
タグ:
Your post has been saved and will be published after approval by the forum moderator.
Katz Ueno
自動アップデートのしくみ (Re: 最新バージョンとダウンロードURLを取得したい)
またこの方法を独自にすることによって自分の管理する concrete5 サイトは自分オリジナルの concrete5 を配布できたりする仕組みも作れます。
5.6 と 5.7 の2通りあります。
■ 5.6.X 以下の方法
concrete5.6.x 以下の場合、下記の URL の APP_VERSION にお使いの concrete5 のバージョンを入れることによって、そのバージョンからアップデート可能な concrete5 のバージョンとダウンロードURLが XML 形式で帰ってくるようになっています。
5.4.2.2 以下の場合は、自動アップデート機能自体がなく、APP_VERSION のパラメーターが存在していません、「5.4.2.2」というバージョン番号が数字のみ帰ってくるようになっています。
また、日本語版は別パッケージとして配布しているため、別々のURLを叩いて頂く必要があります。
例)
○ 日本語版
○ 英語版
こちらのURLの設定は 5.6.3.3 日本語版では
/concrete/config/base.php の 516行目に記述してあります。
こちらの設定は、オーバーライド出来る構造ではないので、
/concrete/config/base.php を直接書き換えていただくことになります。
そうすることにより、自分で独自の concrete5 のバージョンを配布している場合は、そちらを利用することにより、独自の concrete5 パッケージを配布できます。
■ 5.7.x 以降の方法
concrete5.7.x 以降の場合は、XML ではなく、serialize された文字列が帰ってくるようになっています。
例:
APP_VERSION のパラメーターは必須です。
この中の
- LOCALE
- BASE_URL_FULL
は今のところ、URLリクエストの中に記入しなくても結果が帰ってきます。
このURLの設定先は
/concrete/config/concrete.php
に記入されています。
/application/config/concrete.php
を作成し、updates の array をオーバーライドすることが可能・・・だったかな?(どなたかテストしてください)
同じような serialize された結果を出力するような PHP プログラムを作成すれば、自分でメンテしている cocnrete5 の配布をすることも可能になります。