アップデート

目次

アップデート方法

Ver. 2.8 以降

Ver. 2.8.0 で管理画面からマイナーバージョンと、パッチバージョンのアップデートが出来るようになりました。バックアップを取ったのちアップデートを行いますので安心して利用できます。特に意図がない場合は、管理画面からのアップデートをお使いください。

オプション

管理画面 > コンフィグ > 機能設定 の 「オンラインアップデート」にオプションがあります

  • パッチバージョンのみ(デフォルト)
  • マイナーバージョンも含める
  • 更新メニューを非表示

「デフォルトのパッチバージョンのみ」は不具合修正のバージョンのみアップデートを行います。仕様変更などは含まれませんので、安心してアップデートできます。「マイナーバージョンも含める」は、2.8 から 2.9 へのアップデートのようにマイナーバージョンアップの更新も出来るようになります。「更新メニューを非表示」は管理メニューに更新メニューを出さないようにします。お客様に引き渡す時に、あまり触ってほしくない場合などに便利です。

デフォルトのパッチバージョンのみパッチバージョン(=不具合修正のバージョン)のみアップデートを行います。パッチバージョンには仕様変更が行われたバージョンは含まれませんので、安心してアップデートできます。
マイナーバージョンも含めるたとえば Ver.2.8 から Ver.2.9 へのアップデートのようにマイナーバージョンアップの更新も出来るようになります。マイナーバージョンアップには仕様変更が行われたバージョンも含まれます。
更新メニューを非表示管理メニューに更新メニューを出さないようにします。例えば、納品後に更新者にアップデートしてほしくない場合などに便利です。

Ver. 2.7 以下の場合、または手動アップデート

以前は、FTPソフトを利用して多くのファイルを上書きする必要がありましたが、現在では 簡単アップデート (バージョンアップ作業の簡略化をする PHP ファイル)を用意しております。このプログラムを利用することで、利用環境に合わせたパッケージのダウンロードから、解凍、ファイルの更新、旧ファイルのバックアップまでを自動化することができるようになりました。

このドキュメントでは Ver. 2.5 以降を対象としていますが、旧バージョンでもファイルの更新は可能です。

テンプレートファイルについては自動変更されませんので、Ver. 2.5より古いバージョンでは以下を参考にテンプレートファイルの修正をお願いします。

また、スタンダード版以上のバージョンのライセンスをご利用の方は、以下のページもご覧ください。

1. 簡単アップデート のダウンロード

ダウンロードの簡単アップデート よりアップデート用のプログラム「2.x バージョンアップ版」をダウンロードします。

「簡単セットアップ」は、サーバーの種類によって環境を構築するために違うファイルになっておりましたが、アップデートは同一な作業になりますのでファイルは1種類になります。

2. update.php ファイルのアップロード

バージョンアップをする a-blog cms が動作しているサーバーのディレクトリに1ファイル update.php ファイルのみ、a-blog cms の index.php が設置されている同じディレクトリにアップロードします。

バージョンの指定

サーバーの最新版を自動で判定してダウンロードするようになっておりますが、サーバーによってはエラーになる環境もあります。もし、実行時にエラーになるような時には 14行目の # を外してアップデートしたいバージョンを個別に指定してください。

#$ablogcmsVersion = "2.7.15";

テーマディレクトリの設定

update.php のファイルには利用しているテーマ名を設定できる場所が用意されています。ここに利用しているテーマを設定することでテーマディレクトリを既存のファイルを利用するように設定できます。

#$useThemes = "blog2016"; # "site2015|blog2015";

最初の # が付いているとコメント扱いとなり、設定が有効になりませんので注意してください。

例1) site2016 と sp@site2016 を利用している場合

$useThemes = “site2016”;

継承しているテーマは自動的に利用する設定になります。

例2) site2015 と blog2015 を利用している場合

$useThemes = "site2015|blog2015";

| で区切って複数指定も可能です。

3. update.php ファイルの実行

http://domain.com/update.php のような URL にブラウザからアクセスする事で以下の処理が自動で行われます。

  1. 変更するファイルのバックアップ
  2. サーバーのPHPのバージョンにあわせて a-blog cms のパッケージをダウンロード&解凍
  3. インストールファイルを置くべき場所への移動
  4. バックアップファイルから戻すべき以下のファイルやディレクトリを移動
  • 指定したテーマ
  • /php/ACMS/User
  • /php/AAPP
  • /private/config.system.yaml
  1. ダウンロードした必要の無いファイルの削除

※ バップアップについては、backup_年月日時分秒 の形式のディレクトリが作成されます。

4. メンテナンス画面からアップデート開始

サイトにアクセスし、メンテナンス画面が表示されることを確認してください。 メンテナンス画面で ユーザーID もしくは メールアドレスとパスワードを入力しログインします。

システムがバージョンアップの必要だと判定された際には「メンテナンスプログラムはアップデートの必要性を検出しました」と表示され「アップデート実行画面へ」のリンクが表示されます。



5. データベースの更新

セットアップ画面の[データベースの更新処理を実行]ボタンを押します。



6. セットアップディレクトリのリネーム

アップデートプログラムの実行が終了したら、FTPソフト等を利用して setup ディレクトリを推測されない名前に変更をしてください。削除しても構いませんが、場合によってインストールされている時と同様のバージョンの setup ディレクトリをアップロードする必要がある場合があります。

setup ディレクトリが存在するまではメンテナンスページが表示されます。

7. 表示確認と公開

a-blog cmsを設置しているアドレスにアクセスします。各ページの表示を確認し、問題が無ければ公開となります。 必要に応じてデバッグモードをONにすることで、各種エラーメッセージが表示されたり、キャッシュ機能が無効となるなど、動作確認のための状態となります。 サーバ上のファイル config.server.php 内の記述 「DEBUG_MODE」の値を確認の上、変更を行う場合は再度アップロードしてください。


デバッグモードON デバッグモードOFF
define('DEBUG_MODE', 1); define('DEBUG_MODE', 0);

以上でアップデートは完了です。

Ver. 2.0 & 2.1からのアップデート

2.0.x と 2.1.x の環境から現在のバージョンでは、細かい変更も色々ありますが大きく以下の変更が必要になります。

  • acms-admin.css の追加
  • index.js から acms.js に変更
  • acms.js の前に jQuery の読み込み
  • ioncubeエンコーダーのバージョンアップ

ご利用のバージョンに合わせて変更点をご覧ください。古いバージョンでは、その上に書かれている修正も必要になります。

Ver. 2.1.x からアップデートする場合

【必須】acms-admin.css の追加

acms.css で使用しているメディアクエリーがモバイルファーストな書き方に変更された為、システムで利用している CSS を acms- admin.css に変更しました。acms.css についてはそのまま残して、ご利用のテーマに以下のコードを追記してください。

<link href="/css/acms-admin.min.css" rel="stylesheet" type="text/css" media="all">

acms- からはじまる今までのクラス名を変更しない場合は、使用していた旧バージョンの acms.cssはそのままご利用く ださい。また旧バージョンのacms.cssをご利用する場合は旧バージョンの/system/fonts/ディレクトリをご利用の テーマに移動をお願いします。

【必須】index.js から acms.js にファイル名変更

Ver. 2.5.0 以前では、組み込みJS を読み込む為に index.js を読み込んでいましたが、Ver2.5.0 より acms.js にファイル名が変更になりました。以下のようにリンクを修正をしてください。

<!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js -->

【必須】 jQuery の読み込み

組み込み JS が非同期で読み込まれるようになった事により、jQuery が読み込まれる前に、jQuery プラグインや組み込み JS のカスタマイズが動いてしまいエラーが出てしまいます。 そこで、jQuery が同期的に読まれるように以下の対策をお願いします。

対策1

jQuery を acms.js から読み込む事をやめ、テンプレートから直接 jQuery をロードします。

以前のバージョンでは組み込み JS の jQuery とバッティングしてエラーを出していましたが、Ver2.5.0 からテンプレー トから読み込んでいる jQuery を優先して読み込むようになりました。こうする事により、同期的にjQueryが読み込ま れますので、エラーを回避する事が出来ます。かならず、acms.js の前で読み込むようにしてください。

<script src="%{JS_LIB_JQUERY_DIR}jquery-%{JS_LIB_JQUERY_DIR_VERSION}.min.js" charset="UTF-8"></script>
<!-- BEGIN_MODULE Js -->
<script src="/acms.js{arguments}" charset="UTF-8" id="acms-js"></script><!-- END_MODULE Js —>

対策2

またテンプレートで config.js の値を書き換えている場合は、以下のように対応をお願いします。

ACMS.Ready(function() {
    ACMS.Config.toggleMark = ‘toggleMark2’; // 例
});

【任意】カスタムユニットを利用されている場合

インクルード先が変更になっております。

  • /include/unit.html に設置してある /include/custom-unit.html が /include/unit/custom.html に変更。
  • /admin/entry/unit.html に設置してある /admin/entry/custom-unit.html が /admin/entry/unit/custom.html に変更

【任意】Entry_Summary で tag を出力している場合 ?????

ver2.5.0 以前は Feed_Rss2 モジュールで「モジュールIDの条件設定」でフィールドが設定できるようになっており、エントリーのカスタムフィールドで絞り込めるようになっていたが、 ver2.5.0以降では、ここの設定がなくなり、「モジュールの表示設定」にこの設定が移動しました。

モジュールの条件設定にあった絞り込み条件をモジュールの表示設定のエントリフィルタに設定してください。

Ver. 2.0.x からアップデートする場合

ionCube Loader のバージョンアップが必要

Ver. 2.0.x では ioncube エンコーダー Ver. 6.5 を利用していましたが、現在は新しい PHP のバージョンに対応するため ioncube エンコーダー Ver. 9.0 を利用しています。古いバージョンの ioncube Loader では動作させることができませんので新バージョンの ionCube Loader をご利用ください。

ionCube Loader のバージョンアップについては ioncube Loader のインストール をご覧ください。

フォームモジュールの「confirm」ブロックが必須に

Ver. 2.1.0より、フォームモジュールの「confirm」ブロックが、セキュリティアップデートの影響で必須になりまし た。「confirm」ブロックがない場合は確認画面のブロックを「confirm」ブロックに書き換えをして下さい。

Ver. 1.7 から 2.0 のアップデート

Ver. 1.7 から Ver. 2.0 へのアップデートについて解説しています。最新版にアップデートする際の変更点については、以下の変更に加え、Ver. 2.0 & 2.1からのアップデート も合わせて対応ください。

また、Ver. 1.7 以前のバージョンからアップデートされる場合には、以下の PDFドキュメントも合わせてご確認ください。

【重要】テーマの変更点とアップデート時の注意事項

バージョンアップで変更となったテーマの変更点と注意事項です。アップデートされる場合は必ずお読みください。

バージョン共通でアップデートする時の注意事項

config.system.yaml に変更を加えていない場合

private/config.system.yaml を上書きしてください。

config.system.yaml に変更を加えている場合

private/config.system.yaml は、コンフィグの初期設定をしているファイルです。 Ver. 2.0.0.xではこれらの設定内容はconfig.system.default.yaml にすべて引き継がれていますが、 config.system.yaml の設定内容が優先されます。 以下の部分を変更してください。


Ver. 1.xまで Ver. 2.0.0以降
file_icon_dir: images/fileicon/ file_icon_dir: themes/system/images/fileicon/

Ver. 1.7.0からアップデートする場合の変更点

/themes/system/include/column.html をカスタマイズして利用している場合

Ver. 2.0.0.xでファイル名称が column.html から unit.htmlに変更されています。 このファイルをカスタマイズしている場合には、 column.html のカスタマイズ内容をunit.htmlに反映してください。 column.htmlは今後使用されません。

EntryBodyモジュール を利用しているテンプレート

Ver. 2.0.0.xで動的フォーム、バージョン管理の機能を追加しています。これらの機能を使用する場合には以下の記述が必要になります。記述位置などは /themes/system/acms-code/snippets/entry_body.html のスニペットファイルをブラウザでご覧ください。

インクルードファイルを変更

<!--#include file="/include/column.html"-->  <!-- 廃止 -->
<!--#include file="/include/unit.html"--> <!-- このコードに変更 -->

以下コードを追加

<!-- BEGIN formBody -->
   <!--#include file="/include/form/unit.html"-->
<!-- END formBody -->

<!-- BEGIN adminFormEdit -->
   <!--#include file="/admin/form2/edit.html"-->
<!-- END adminFormEdit -->

<!--#include file="/admin/entry/revision-info.html"-->

Column_Listモジュール を利用しているテンプレート

Ver. 2.0.0.xでモジュール名称が Column_List から Unit_Listに変更されています。テンプレートファイル側で名称変更をしてください。

/admin/entry/action.html および /admin/action.html をカスタマイズしているテンプレート

Ver. 2.0.0.xで各ファイルの内容が変更されています。これらのファイルにカスタマイズをおこなっている場合、カスタマイズ内容を新しいaction.html に反映してください。

/a-blogcms設置ディレクトリ/images/ を削除

Ver. 2.0.0.xで /themes/system/ に移動されています。/a-blogcms設置ディレクトリ/images/ 内のファイルにカスタマイズを行っている場合には /themes/system/images/ に変更分を反映して、 /a-blogcms設置ディレクトリ/images/ を削除してください。

ブログやカテゴリーの編集画面の変更

ブログやカテゴリーの編集画面へのリンクがindexからeditに変わった為、 1系で管理画面へのリンクを用意している場合に2系にアップデートするとリンクが切れる問題が発生します。リンクを用意している場合はリンクの修正をお願いいたします。

プロフェッショナル版アップデート

基本的にはスタンダード版とバージョンアップの手順は同じになりますので、手順としては アップデート方法 をご覧ください。 しかし、スタンダード版とは多少ライセンス体系が違い 年間メンテナンス費用 というものがかかります。

年間メンテナンスについて

a-blog cms プロフェッショナル版には、購入時に1年間の年間メンテナンスが 付属します。2年目以降にも年間メンテナンスが必要な場合には、別途メンテナンス料金をお支払いいただく必要があります。

年間メンテナンスに関する詳細の情報は、ライセンスのページの 年間メンテナンスについて をご覧ください。

新バージョンアップグレード権

メンテナンス契約期間中に開発・公開される a-blog cms 新バージョンについての利用権となります。新バージョン公開時には、新バージョン用のライセンスが別途必要となります。マイページ より新バージョン用のライセンスをダウンロード適応してください。

エンタープライズ版アップデート

基本的にはスタンダード版とバージョンアップの手順は同じになりますので、手順としては アップデート方法 をご覧ください。 しかし、スタンダード版とは多少ライセンス体系が違い 年間メンテナンス費用 というものがかかります。

年間メンテナンスについて

a-blog cms エンタープライズ版には、購入時に1年間の年間メンテナンスが 付属します。2年目以降にも年間メンテナンスが必要な場合には、別途メンテナンス料金をお支払いいただく必要があります。

年間メンテナンスに関する詳細の情報は、ライセンスのページの 年間メンテナンスについて をご覧ください。

新バージョンアップグレード権

メンテナンス契約期間中に開発・公開される a-blog cms 新バージョンについての利用権となります。新バージョン公開時には、新バージョン用のライセンスが別途必要となります。マイページ より新バージョン用のライセンスをダウンロード適応してください。

Ver. 2.x 手動アップデート

アップデート作業中にサイト閲覧者がアクセスすると、サイトが正常に表示されない場合がありますので、 アップデート作業をされる際には作業時間・タイミングにご注意ください。

1. ファイル・フォルダのバックアップ

以下のファイル・フォルダをバックアップします。

  • license.php
  • config.server.php
  • カスタマイズしているテーマフォルダ
  • .htaccess (カスタマイズしている場合のみ)
  • private/ディレクトリ(カスタマイズしている場合のみ)
  • php/ACMS/User/ディレクトリ (カスタマイズしている場合のみ)
  • php/AAPP/ディレクトリ (カスタマイズしている場合のみ)
  • extensions/ディレクトリ(カスタマイズしている場合のみ)
  • その他カスタマイズしているフォルダ・ファイル

アップデート作業をされる際には作業時間・タイミングにご注意ください。

2. テーマファイルの更新

テーマファイルを更新します。 「themes」フォルダ内の「system」フォルダを、“ディレクトリごと上書き” します。 テーマをカスタマイズしている場合は、変更点(「【重要】テーマの変更点と注意事項」参照)に合わせてテンプレー トを書き換えてからアップロードします。

3. プログラムファイルの更新

インストールパッケージの「ablogcms」フォルダ内にある下記の「上書きしないディレクトリ」以外のフォルダ・ファイルを上書きします。 php ディレクトリは書き換え対象ですが、phpディレクトリの中でカスタマイズしたものがある場合(php/ACMS/User, php/AAPP)はそのディレクトリは上書きしないでください。

上書きしないディレクトリ

  • setup/
  • themes/
  • php/ACMS/User/(カスタマイズしている場合のみ)
  • php/AAPP/(カスタマイズしている場合のみ)
  • extensions/(カスタマイズしている場合のみ)

4. 「setup」フォルダのアップロード

「setup」フォルダをアップロードします。アップロードが完了した時点で、一般に公開しているa-blog cms のページは メンテナンスページの表示に切り替わります。

「themes」フォルダ以外のファイルをカスタマイズしている場合は、フォルダ・ファイルを入れ替 える際、カスタマイズしているファイルを新しいファイルと入れ替えてしまわないようご注意くださ い。

5. メンテナンス画面からアップデート開始

a-blog cms を設置したアドレスにアクセスし、メンテナンス画面が表示されることを確認してください。 メンテナンス画面でユーザーIDとパスワードを入力し[ログイン]ボタンを押してログインします。 「アップデート実行画面へ」のリンクをクリックします。

「アップデートを実行できます」と表示されていることを確 認します。


メンテナンス画面

メンテナンス画面


6. データベースの更新

セットアップ画面の[データベースの更新処理を実行]ボタンを押します。


アップデート実行画面

アップデート実行画面


7. セットアップディレクトリの削除

アップデートプログラムの実行が終了したら、「setup」ディレクトリを削除します。

削除するまではメンテナンスページが表示されます。

8. 表示確認と公開

a-blog cmsを設置しているアドレスにアクセスします。各ページの表示を確認し、問題が無ければ公開となります。 必要に応じてデバッグモードをONにすることで、各種エラーメッセージが表示されたり、キャッシュ機能が無効となるなど、動作確認のための状態となります。 サーバ上のファイル config.server.php 内の記述 「DEBUG_MODE」の値を確認の上、変更を行う場合は再度アップロードしてください。


デバッグモードON デバッグモードOFF
define('DEBUG_MODE', 1); define('DEBUG_MODE', 0);

以上でアップデートは完了です。

Ver. 2.7.0 未満 からのアップデート

Ver. 2.7.0 未満からのアップデートでの注意点になります。

グローバルルールのコンフィグ設定の仕様が変更になりました。

仕様の違い

Ver. 2.7.0 未満 でのグローバルルールの仕様

  • グローバルルールに設定した場合は、子ブログでもグローバルルールが存在するブログのコンフィグを参照
  • 子ブログ毎にグローバルルールの設定はそれぞれ出来ない。

Ver. 2.7.0 以上 でのグローバルルールの仕様

  • グローバルルールを設定しても、ルールのみグローバルであってコンフィグはグローバル化しない。
  • グローバルルールの設定はそれぞれの子ブログで設定する必要がある。

解決方法

もし、Ver. 2.7.0 未満のバージョンでグローバルルールを使って、全ての子ブログに、グローバルルールがある ブログのコンフィグを利用している場合、バージョンアップすると、コンフィグが子ブログ毎になりうまく動作しません。 そこで、以下方法を行うと後方互換性を持たせる事が出来ます。

config.system.yaml に以下を追記

global_rule_config_load: global
  • global を設定すると Ver. 2.7.0 未満の仕様
  • each(デフォルト)を設定すると Ver. 2.7.0 以上の仕様