最新バージョンとダウンロードURLを取得したい

2015年7月12日 at 9:38

concrete5の新規インストール等を自動で実施するのに、
最新のバージョン番号と、ダウンロード先のURLが返却されるようなAPIがあったら教えて下さい。

最新バージョンのリリースノートのURLなども一緒に取得できたら良いのですが、
先ずは、バージョン番号とダウンロードURLがあれば嬉しいです。

よろしくお願い致します。

タグ:

自動アップデートのしくみ (Re: 最新バージョンとダウンロードURLを取得したい)

2015年7月12日 at 19:11
concrete5 自動アップデートの仕組みを利用することによって最新バージョンとダウンロード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を叩いて頂く必要があります。

例)

○ 日本語版
concrete5-japan.org/tools/get_latest_version_number.php?APP_VERSION=5.6.3.3

○ 英語版
www.concrete5.org/tools/get_latest_version_number?APP_VERSION=5.6.3.3


こちらのURLの設定は 5.6.3.3 日本語版では
/concrete/config/base.php の 516行目に記述してあります。
こちらの設定は、オーバーライド出来る構造ではないので、
/concrete/config/base.php を直接書き換えていただくことになります。
そうすることにより、自分で独自の concrete5 のバージョンを配布している場合は、そちらを利用することにより、独自の concrete5 パッケージを配布できます。


■ 5.7.x 以降の方法

concrete5.7.x 以降の場合は、XML ではなく、serialize された文字列が帰ってくるようになっています。

例:

www.concrete5.org/tools/update_core?LOCALE=ja&BASE_URL_FULL=http://sakan.concrete5japan.net/&APP_VERSION=5.7.4.1


APP_VERSION のパラメーターは必須です。

この中の

- LOCALE
- BASE_URL_FULL

は今のところ、URLリクエストの中に記入しなくても結果が帰ってきます。

このURLの設定先は
/concrete/config/concrete.php
に記入されています。

/application/config/concrete.php
を作成し、updates の array をオーバーライドすることが可能・・・だったかな?(どなたかテストしてください)

同じような serialize された結果を出力するような PHP プログラムを作成すれば、自分でメンテしている cocnrete5 の配布をすることも可能になります。
 

Re: 最新バージョンとダウンロードURLを取得したい

2015年7月12日 at 20:48
ありがとうございます。

これ、非常に助かります。
しかも、リリースノートまで返却されてきます。(5.7もXMLが良かった・・・)

5.7の方は、JSONっぽいですが、レスポンスヘッダーのContent-Typeはtext/htmlなんですね。

APP_VERSIONのパラメータが必須って所が少し、厳しい仕様ですが、助かります。