アップデート

目次

アップデート方法

主なアップデート方法は2種類あります。「オンラインアップデート」と「手動アップデート」です。
また、各アップデート時にはテンプレート修正が必要なバージョンがありますので、アップデート時には対象のバージョンだった場合ご対応の上、アップデートをお願いいたします。

オンラインアップデート

オンラインアップデートは管理画面からマイナーバージョンと、パッチバージョンのアップデートする方法です。Ver. 2.8.0 から利用可能です。
バックアップを取ったのちアップデートを行いますので安心して利用できます。特に意図がない場合は、オンラインアップデートの利用を推奨します。

オプション

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

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

デフォルトのパッチバージョンのみ

不具合修正のバージョンのみアップデートを行います。仕様変更などは含まれませんので、安心してアップデートできます。

マイナーバージョンも含める

Ver. 2.8 から Ver. 2.9 へのアップデートのようにマイナーバージョンアップの更新も出来るようになります。

更新メニューを非表示

管理メニューに更新メニューを出さないようにします。お客様に引き渡す時に、あまり触ってほしくない場合などに便利です。



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

手動アップデート

基本的にはオンラインアップデートを推奨しておりますが、オンラインアップデートが対応していない環境(メジャーバージョンアップやVer. 2.7以下からのアップデートの場合)では手動アップデートをお使いください。

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

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

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

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

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

バージョンの指定

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

#$ablogcmsVersion = "2.11.43";

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

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

#$useThemes = "blog2020"; # "site2020|blog2020";

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

例1) site2020 と sp@site2020 を利用している場合
$useThemes = “site2020”;

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

例2) site2020 と blog2020 を利用している場合
$useThemes = "site2020|blog2020";

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

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

update.phpを設置したURL(例:http://domain.com/update.php)にブラウザからアクセスするとアップデートが実行されます。
具体的には、以下の処理が自動で行われます。

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

※ バップアップについては、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);

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

テンプレート修正が必要なバージョンとライセンス

テーマ内にあるテンプレートファイルについては自動変更されません。以下のドキュメントを参考にテンプレートファイルの修正をお願いします。

バージョンごとのアップデート方法


ライセンス別のアップデート方法


各バージョンのアップデート変更点まとめ

システムのバージョンアップをする際に、利用しているバージョンから最新版までアップデートする際に、テンプレートや config の設定がどう変わっているのかを時系列で紹介しています。

Ver. 3.0.12 - 2022/06/17

  • 8.1.x 対応

Ver. 3.0.10

  • CMS-5891 各システムメールをHTMLメールに対応

コンフィグ > メール設定 の本文テンプレートの項目でプレーンテキストとHTML形式のどちらもテンプレートのパスを設定している場合は、HTML形式が優先される仕様になっております。さらにHTML形式の本文テンプレートの設定はconfig.system.default.yaml に記載されており、CMSをアップデートした際に自動的にコンフィグに保存されます。アップデート前に、プレーンテキスト形式のメールテンプレートをカスタマイズして利用していた場合、バージョンアップした際にHTML形式のメールが送信されてしまうといった問題が発生する可能性があります。

対策として、バージョンアップ後はコンフィグ > メール設定 の本文テンプレートの項目で HTMLメールの設定を空にして保存し直す必要があります。

Ver. 3.0.0 - 2021/12/24

  • PHP 7.2.5 - 8.0.x 対応
  • ionCube Loader 利用を停止
  • アップデート時、テンプレートキャッシュ機能が新しく増えた事により、グローバル変数を利用したインクルードの分岐処理が意図しないキャッシュが作成されてしまう可能性があります。
  • private/config.system.yaml の template_cache: off でテンプレートキャッシュの利用を停止します。

参考記事

  • マークダウンのライブラリが PHP 8.0 対応のために変更になりました。そのため マークダウンを利用の場合に表示崩れが発生する可能性があります。

    • ネストしているリスト
    • 空白行が上にないコード、テーブル、引用

参考記事

Ver. 2.11.29 - 2021/03/03

  • jQuery のバージョンが 3.5.1 に変更しています。

Ver. 2.11.25 - 2020/11/24

  • tplコンテキスト がデフォルトで無効になりました。
  • アップデートの場合には private/cofig.system.yaml に設定が無いので大丈夫ではありますが、変更点として紹介しておきます。

    • forbid_tpl_url_context :
    • forbid_tpl_inheritance_when_path_unresolved :
    • allow_tpl_path :

参考記事

Ver. 2.11.15 - 2020/07/13

  • PHP 7.4 対応

Ver. 2.11.5 - 2020/02/05

  • メディアダウンロードリンクが /media-download/xxx/ から /media-download/xxx/hash値/ のように変更になりました。テンプレートは関係ありませんが、テキストリンクで手動で /media-download/xxx/ へのリンクを書いているような時には注意が必要です。

config.system.yaml の設定
media_download_link: v1 # v1: media-download/xxx/ v2: media-download/xxx/hash値/
※ この設定で元の仕様に戻すことが可能です。

Ver. 2.11.0 - 2019/12/17

  • ライセンスのアップデートが有償になりました。
  • カスタマイズの際に、脆弱性を作り込んでしまう問題を減らすために、校正オプションの仕様変更しています。文章中のタグがそのまま表示されてしまう可能性があります。

参考記事

  • 読者登録・パスワードリセット時に、パスワードを自分で指定できるように変更

読者登録・パスワードリセット時に、パスワードを自身で指定できるようになりました。以前はパスワード再発行メールにシステム側で発行した新しいパスワードを記載しておりましたが、再発行時にユーザーが任意のパスワードを指定する仕様へ変更になりました。そのため、パスワードリセット用のテンプレートを追加する必要があります。また、パスワード再発行メールで使用できる {resetPass} 変数は削除されました。

パスワードリセット用のテンプレートは system テーマ内、 /_layouts/login.html の <!-- BEGIN reset --> から <!-- END reset --> までを参考にしてください。

Ver. 2.10.8 - 2019/04/15

  • PHP 7.3 対応

Ver. 2.10.0 - 2019/02/28

  • タグの入力 UI が変更になっています。一応、前の UI がいい人のために戻す方法を紹介しておきます。

参考記事

Ver. 2.8.0 - 2018/03/26

  • PHP 7.2 対応

Ver. 2.7.0 - 2017/03/30

  • PHP 7.0 対応
  • ルールをグローバル化して利用している場合の動きが変わりました。

参考記事

  • utf8mb4 に対応し、絵文字が保存できるようになりました。

参考記事

Ver. 2.5.0 - 2015/04/23

  • a-blog cms で読み込みが必須の JavaScript のファイル名が index.js から acms.js に変更されました。
  • acms.css から管理系の CSS を別にして利用できるようにした acms-admin.css が必須になりました。
  • acms.js の前に jQuery の読み込みが必須になり、jQuery が同期的に読まれるように対策が必要になりました。

参考記事

Ver. 2.0.0 - 2013/12/18

  • config.system.yaml が config.system.default.yaml と config.system.yaml に分かれました。 1.x で利用していた config.system.yaml を利用することで、2.0 以前の設定を引き継ぎます。
  • file_icon の場所が images/fileicon から themes/system/images/fileicon に変更になりました。
  • Entry_Body の中でインクルードされている /include/column.html が /include/unit.html に変更になりました。
  • Column_List モジュールの名前が Unit_List に変更になりました。

参考記事