役立つかも？a-blog cmsの移行＆アップデート時のTipsまとめ

# もうアドベントカレンダーの季節なのか
[アドベントカレンダー](https://adventar.org/calendars/9974)は今年で2回目です:santa_tone1:。
去年投稿をして、あれからもう1年も経過したのか、そしてもう2025年（令和が7年というのも信じがたい。）がやってくるのか。
...という事実に驚きです:rolling_eyes:


# 移行＆アップデート時のTips
[Training Camp](https://qiita.com/a_kawasaki/items/1c6423ce692f704c3c7e)でお話したのですが、弊社で、昨年〜今年にかけ、100程のWebサイト移行作業をし、20のアップデートをしました。
今回は、そのときに**実際に困ったことを、Tips集にして紹介**しようと思います！

## :small_orange_diamond:困ったこと1　アップデート後、ダイレクト編集が使えない
あるサイトで、2.x.x→3.0.24　にアップデートしたときのことです。
**ダイレクト編集の、ON/OFFが動かない不具合に遭遇**しました。

そして、2.x.x→3.0.19 ではON/OFF可能なのに、2.x.x→3.0.24はON/OFFが使えなかったです。
社内で原因を探ったところ、原因は、2つありました。

### 原因1
1つ目の原因はsystemの中にありました。
該当のサイトでは、下記のように、「ボタンの作成」をしていたため、**テーマ/admin/action.html を新しく作成していたことが原因**でした。

https://developer.a-blogcms.jp/document/practice/specialized_button.html

### 原因2
そして、2つ目の原因は、3.0.22での以下の不具合修正（[リリースノート](https://developer.a-blogcms.jp/document/releasenote.html#ver-300022)）に依るものです。
3.0.22で、**system/admin/_layouts/action.html**　のダイレクト編集を制御するコードが新しいものに書き変わっていたため、3.0.24にアップデートした時、**テーマ/admin/action.html**の該当のコードが書き換わらず、ダイレクト編集がONにできなくなってしまったのかなと推測しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/b4ae68f1-a9b0-f465-4b01-873cd59126c7.png)

Ver3.0.22のsystem/admin/_layouts/action.html
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/16fe4d12-a8f8-edc1-b5da-42ee52b5e895.png)

Ver3.0.19（Ver3.0.22より前）のsystem/admin/_layouts/action.html

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/2291b909-a51a-229e-aeb7-98159dfebd69.png)


### 解決策
なので、**system/admin/_layouts/action.html**　の必要なコードを
**使用中テーマ/admin/action.html** へ書き換えました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/4245c2ed-6ac9-bd3f-ec2d-7223355dcd33.png)


ダイレクト編集系でうまく行かない場合、上記を思い出してもらえると、解決するかもしれないです。



## :small_orange_diamond:困ったこと2　サーバーのPHP差分調整が必要な場合がある

サーバーのPHPが違う場合、差分調整をする必要があります。
基本的に、差分調整は下記をしていました。
**※なお、phpディレクトリ内のコアファイルをカスタマイズしている場合、そのファイルはいったん個人でバックアップすることを強くおすすめします。**

:::note info
* PHPに合ったlicence.phpの差し替え
* PHPに合ったバージョンのphpディレクトリを差し替える（各バージョンごとにパッケージがあるので、私はここからダウンロードしています）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/e059e6b6-dfe3-d45b-3716-960ccd040ca9.png)
:::



## :small_orange_diamond:困ったこと3　2.xバージョンアップ版のテーマ指定について
簡単アップデートは、種類が2つあります。
「<font color="red">**最新版**</font>」と、「<font color="red">**2.xバージョンアップ版**</font>」です。

そして、最新版のいいところは、**テーマ指定が必要ない**ということ！（個人的な話ですが、移行作業時、2.xバージョンアップ版ばかり多用していたので、最新版でテーマ指定が不要ということを知りませんでした:open_mouth:！）

しかし、2.xバージョンアップ版は、**テーマ指定しないと、themesディレクトリに保存されません**。


なので、アップデート後、一見、不具合がでているようにも感じてしまいます（themeが見つかりませんみたいなやつが表示される）。アップデート初心者のころ、それで焦りました。

ですが、自分のやり方が悪いのか、2.xバージョンアップ版で**テーマ指定が上手くいかないことが何回かありました**。
「｜（パイプ）」で区切ってテーマを指定するのですが、上手く行かないことがありました。（毎回上手く行かないわけではないので、バージョンとか何らかの原因に依るものかもしれない）
2.xバージョンアップ版でテーマ指定してアップデートする度、

「**今回は上手く行くかな？ドキドキ**:flushed:」

と、毎度こういう気分になってしまうので、私は、大量のWebサイト移行の期間は<font color="red">**テーマ指定をしない**</font>方針にしました。

で、問題なのは、一体全体、「themesディレクトリにかつてはいたテーマ達がどこにいってしまったのか？」
ということです。（なんかミステリーっぽいですね笑　タイトルを付けるなら「消えたテーマの謎、アップデート事件」という感じでしょうか）
そしてこの、「消えたテーマの謎、アップデート事件」の鍵は、**backupディレクトリ**にありました。

アップデート時、簡単アップデートでは、嬉しいことに、backupディレクトリが自動で生成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/5090dac3-2e29-823a-fb35-5eb9c36af5b5.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/c67fb585-0090-6972-b62c-c35ce4e0d450.png)

ここのthemesディレクトリに、テーマが格納されているので、使用中のテーマは、使用中のthemesへ移動させていました。これで解決します！

# Training Campで学んだこと
前回の記事で、後日、他の発表者の方の感想を書きたいな〜と記したので、アウトプットのためにも簡単に感想を記述します。思いのほか長くなってしまった:sweat_smile:。

（※今回アーカイブなしということもあり、感想をどこまで書いて良いか分からないので、アウトな記述あれば教えてください:sweat:）


### 感想
:::note info
memo

坂本さん
* テーマ選びに工数を掛けない手法が、やっぱりa-blog cmsに手練れていて"熟練者"という印象でした。足すより引く方が楽という手の抜き方、参考にしたいと思います。自分の場合、工数管理がまだ難しく、変なところにこだわって時間をかけてしまうので、こだわるポイントを取捨選択するのが課題と感じました。
* 自分はスライド配色で、背景に黒（アクセントカラーは黄色）をまず思いつかないので、新鮮でした！

平山さん
* 移行作業に関連してサーバーの種類についてちょっと調べていたこともあり、興味を持ちながら聞いていました。VPSを使っていますが、AWSを使うことでホームページを早く表示させたり、データのやり取りをスムーズにできるのかな？と思いました。
* 普段、インフラ領域については未知ですが、普通に業務しててもクラウドの波がきているので、領域が違えど感じるものがありました。

勝又さん
* ログアウト状態での確認や、入れ替え作業前の十分な確認など、実際の作業フローに取り入れるべきヒントが多かったです。これらの基本的なポイントを怠るとアップデートで大きな問題につながると、自分もそうだったので共感です。
* 前日にも登壇されていたと聞き驚きです。ベテランになっても自己研鑽する姿勢、勉強になりました。

石川さん
* 以前、事務員だったころ、本業の片手間で会社のサイトを更新していた頃を思い出しました。自分は、Webデザインに興味があったのでその仕事は今に繋がる楽しい仕事でしたが、更新作業が"サブの仕事"だと、悲しいかな、興味が湧かない（おろそかになる）更新担当者もいるんだなぁと思いました。
* 早い段階で、相手の環境を調査するのが自分もスムーズ、相手もスムーズになると学びました。

田村さん
* HTMLやCSSの最新機能を使いこなす＆手間をかけないというところ、真似します。
* カスタムユニットフィールドグループを開閉する小ネタ早速使ってみたところめちゃくちゃ簡単で便利でした、画期的！すぐに実行できる難易度の小技紹介、嬉しいです。ほかの小技も使います。

宇井さん＆新井さん
* デザイナーとエンジニアが、密に関わって出来上がったVer3.2のエントリー。職域の垣根が無いと、こういう、良いものができるんだなと思いました。
* デザイン面も考慮して改善されているのも嬉しいです。紹介された機能は、全部、皆に嬉しい機能だと思いました。

伊藤さん
* 40分という長尺で、かつ幅広な内容にもかかわらず、3.2の魅力が1つ1つわかりやすく理解でき、開発者の思い入れがビビッと伝わりました！
* カスタムフィールドメーカーのタグの変更（タグ、書き換えず使えるのは嬉しいです）やマークダウンできるようになるのが嬉しいです。

:::

### 余談

* 3.2を試そうと[Ver. 3.2.0 のアルファ版へアップデート](https://developer.a-blogcms.jp/blog/function/v320-alpha.html)を試みたものの、ライセンス関係でエラーになってしまいました。（開発ライセンスへも変更してみたものの、ライセンスアップデートが出てきましたが、自分だけ・・・？:thinking:）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638020/2902a8ea-33cf-a1c6-9896-ee38a7d9777a.png)


## まとめ
2024年はa-blog cmsでたくさん学ばせてもらいました。
そして普段知り合えないような、色んな人と交流できたのもよかったなと思います。
今年は大量移行＆アップデート、勉強会参加、Training Campでの発表などなど、なかなか大変でしたが、なんだかんだ今年も楽しい思い出で仕事納めができそうだなと思います。
2025年も楽しくマイペースに、少しずつできることを増やせたらいいなと思います。:sparkles: