URLコンテキスト

a-blog cmsでは、表示しているページがWebサイトのどこなのか、どのような状態であるかをURL上のパスとして表現しています。これを URLコンテキスト(URLによって表現されるページの文脈情報)と呼びます。個々のモジュールはURLコンテキストの情報を元に、表示するコンテンツを決定しています。

URLコンテキストと3つの基本ページ

a-blog cms の基本ページとして、トップページ・一覧ページ・詳細ページがあります。

トップページ

一般的な運用として Webサーバのドキュメントルートに a-blog cms が設置された場合には、この状態でトップページが表示されます。また、個別のディレクトリ内に設置することも可能で、その際には、設置先のディレクトリまで指定した状態がシステムとしてのトップページという扱いになります。

http://www.example.com/

一覧ページ

URLの末尾にスラッシュがくる状態のとき、基本的には a-blog cms では一覧ページが表示されます。

http://www.example.com/news/

詳細ページ

URLの末尾が.htmlで終わるような時には、エントリーの詳細ページが表示されます。

http://www.example.com/news/entry-1.html

URLコンテキストとモジュールの関係

場所的なコンテキスト

例えば、www.example.com というサーバの appleple というブログで、 news というカテゴリーの一覧を表示する場合は以下のようなURLになります。

http://www.example.com/appleple/news/

www.example.com というサーバの appleple というブログで、 news というカテゴリー内にある entry-1.html という一記事を表示する場合には以下のようなURLになります。

http://www.example.com/appleple/news/entry-1.html

www.example.com というサーバのルートブログで、 news というカテゴリー内にある campaign という子カテゴリーの一覧を表示する場合は以下のようなURLになります。

http://www.example.com/news/campaign/

これらのURLの中で使われている英数字が、それぞれのブログコード、カテゴリーコード、エントリーコードになります。

ページ内のモジュールは、ブログコード、カテゴリーコード、エントリーコードなどを含むURLコンテキストによってWebサイトの場所を判断し、そこで設定されている条件に従って情報を表示します。

状況的なコンテキスト

キーワードやタグによる検索、日付、ページ等の情報が含まれていた場合も、モジュールが表示する情報が影響し、情報を絞り込んで表示することができます。

2ページ目を表示する場合は以下のようなURLになります。

http://www.example.com/news/campaign/page/2/

「2009年6月」を表示する場合は以下のようなURLになります。

http://www.example.com/news/campaign/2009/06/

ここでは、簡単なURLコンテキストのみを紹介しました。カスタムフィールドの検索を含むURLコンテキストについては、カスタムフィールドの章で紹介します。

テンプレート機能の改善 - Ver. 3.1.0 リリース情報


この記事では、2023年09月14日にリリースされた「Ver. 3.1.0」の「テンプレート機能」の新機能・改善点について紹介しています。

新機能・改善点一覧

  • CMS-6462 インクルード文で使えるグローバル変数を追加できるHook(addGlobalVarsInIncludePath)を追加
  • CMS-6471 インクルード文に使用できるグローバル変数に「%{CATEGORY_LEVEL}」を追加

CMS-6462 インクルード文で使えるグローバル変数を追加できるHook(addGlobalVarsInIncludePath)を追加

「Ver. 3.0」よりテンプレートキャッシュ機能が追加され、テンプレートキャッシュが利用できるようになりました。 ただテンプレートキャッシュ有効時(デフォルト有効)の制限として、インクルード文内で利用できる「グローバル変数」に制限がありました。

テンプレートキャッシュのマニュアル

インクルード文にグローバル変数を含める例

@include("/admin/entry/bcd/%{BCD}.html")

このインクルード文で使用できるグローバル変数は固定になっており、他のグローバル変数や、カスタムグローバル変数をインクルードで利用できず、不便な場合が多々ありました。 そこで、Ver. 3.1 では、インクルード文で利用できるグローバル変数を追加できる仕組みを用意しました。(カスタムグローバル変数もOKです)

インクルード文で使えるグローバル変数の追加方法

「Hook.php」を修正することにより、インクルード文で使えるグローバル変数を追加します。

extension/acms/Hook.php の「addGlobalVarsInIncludePath」メソッド

public function addGlobalVarsInIncludePath(&$globalVarNames)
{
    $globalVarNames = ['SESSION_USER_AUTH', 'HOGE']; // 例)インクルード文に %{SESSION_USER_AUTH} と %{HOGE} を使えるようにする
}

上記の例のように、配列の形でグローバル変数名を指定します。すでにあるグローバル変数は、Hook.php で追加したカスタムグローバル変数でも大丈夫です。

注意事項

上記の方法で、インクルード文に使用できるグローバル変数を追加することができますが、注意する点があります。 グローバル変数の値ごとにテンプレートキャッシュを生成するので、ページ毎に値が違うような値の種類が多いグローバル変数を設定してしまうと、大量のテンプレートキャッシュが生成されることになり、キャッシュの意味がなくなってしまう可能性があります。ここで追加するグローバル変数は、とりうる値の数が少ないグローバル変数にしてください。

CMS-6471 インクルード文に使用できるグローバル変数に「%{CATEGORY_LEVEL}」を追加

「Ver. 3.1」でインクルード文に使用できるグローバル変数を拡張できるようになりましたが、「%{CATEGORY_LEVEL}」はデフォルトで使用できるようにいたしました。

デフォルトで使用できるグローバル変数

%{ECD}
%{BCD}
%{PBCD}
%{RBCD}
%{CCD}
%{PCCD}
%{RCCD}
%{ALIAS_CODE}
%{IS_ADMIN}
%{MODULE_NAME}
%{MODULE_ID}
%{ADMIN_PATH}
%{ADMIN_PATH_MID}
%{CATEGORY_LEVEL} // Ver. 3.1 で追加

テンプレート機能の紹介については以上になります。他 Ver. 3.1.0 の新機能・改善も多くありますので、ぜひご覧ください。

日々使いやすいシステムとなるよう改善を勤めておりますので、皆様からの貴重なフィードバック、お待ちしております。
今後とも a-blog cms のことをどうぞよろしくお願いいたします。

コンフィグ

a-blog cms の設定をコンフィグと呼びます。このコンフィグはブログ毎に管理されており、個別の設定ができるようになっています。

一部のコンフィグの設定は、管理ページ内のコンフィグ管理のページで変更できます。主に以下の3つのグループに分かれた設定がブラウザ上でできるようになっています。

  • ブログの設定
  • エントリーやユニットの設定
  • モジュールの設定

後半で紹介するルールやモジュールIDでもコンフィグの設定は出てきますが、ここで紹介するコンフィグについては、ブログ(システム)の基本設定という位置づけになります。


a-blog cmsのコンフィグ管理のページ

a-blog cmsのコンフィグ管理のページ


ブログ設定

機能設定のページに、キャッシュの設定があります。a-blog cms では、アクセスがあった時に、アクセスがあったページのデータを作ります。作ったページのデータをサーバ上に保存しておき、同じページへのアクセスがあった際には、このデータをそのまま使うようにします。それがキャッシュ機能です。

このキャッシュ機能はサイト制作中は変更した部分をすぐに確認できないことから、通常オフになっています。 キャッシュ機能を利用する際には、デバッグモードをオフの状態にしなければなりません。config.server.php 内の以下のような記述で、 1 と設定されている部分を 0 に変更しましょう。

define('DEBUG_MODE', 1);

また「キャッシュの有効時間」や、子ブログが更新された時にキャッシュをリフレッシュするのか指定する「キャッシュの感度設定」、「クライアントのキャッシュの時間」を設定すると、その時間内はクライアント側のキャッシュが使用されます。そのため、ページが更新された場合に反映されないことがあり、管理ページにログインした時にブラウザの再読込ボタンを押したり、キャッシュを消したりしないとページが切り替わらないことがあります。

エントリー設定

エントリーの設定は、日々の記事を更新する人にとってCMSの使いやすさを左右する大切なものです。

デフォルトの設定ではメインカラムの幅が680pxの時に最適な設定になっていますので、幅が違う際には各種サイズを見直しする必要があります。

ユニット追加ボタン

一般ページのエントリーの下の部分には、以下のようなボタンが表示されています。


スクリーンショット:編集ページ内ユニット追加ボタン

このボタンの設定をするのが、管理ページ>コンフィグの順にエントリーの編集設定のページにあるユニット追加ボタンの設定です。

ユニット追加ボタンの設定では、エントリーを編集・追加等を行うボタンを設定することができます。またこのボタンについては、Entry_Bodyモジュール内に以下のように記述されています。

@include("/admin/entry/edit.html")
@include("/admin/entry/add.html")

管理画面内ユニット追加ボタンの項目

管理画面内ユニット追加ボタンの項目


編集ページのユニット追加ボタンの項目にて、ボタンの並び順などを変更できます。また編集ページにボタンを追加することも可能です。

  • モード 例:拡張(入力欄:3image)
  • ラベル 例:写真3枚追加

のような設定を追加し、保存します。

ユニット設定

上記の続きになります。ユニット追加ボタンで設定を追加後は、編集設定の横にあるユニット設定を行います。


管理画面内コンフィグのエントリーのメニュー

管理画面内コンフィグのエントリーのメニュー


そして、管理ページ>コンフィグの順に移動したユニット設定のページに、さきほどのボタンの画像と同様の並び順で設定されていることが確認できます。

このユニット設定のページでは、新規エントリーの追加ボタンや、テキスト、画像といったユニットの追加ボタンを押した際の初期状態の設定を行うことができます。そして、上記で「写真を3枚追加」というボタンを追加したので、以下のようなエリアが用意されます。


ユニット設定に追加された写真を3枚追加のユニット

ユニット設定に追加された写真を3枚追加のユニット


画像の追加ボタンを3回押し、それぞれの画像ユニットに画像の配置を左に設定し、小さめの画像のサイズを設定すると、ボタンを押した際に3つの画像ユニットを表示させるボタンを作ることができます。

またユニット設定では、セットのボタンを作るだけでなく、画像を適切なサイズに指定してサイトのパフォーマンスを向上することもできます。

テキストタグセレクト

管理ページ>コンフィグの順にエントリーの編集設定のページで、テキストユニットのタグを指定するための設定ができます。

ここでは基本的なHTMLのタグに加えて、none, markdown, wysiwyg という特別なタグが設定できます。この中にないものを追加する際には /include/unit.html をカスタマイズすることで表示が可能になります。

@include("/include/unit.html")

この unit.html は、a-blog cms のユニットそのものであり、ユニットで表示されるタグについては、このファイルでコントロールされています。


管理画面内テキストタグセレクトの設定

管理画面内テキストタグセレクトの設定


そして、管理ページのテキストタグセレクトを編集し、以下のようなテキストユニットのプルダウンをカスタマイズすることができます。


テキストユニットのプルダウンに管理画面の設定と同じ内容が表示されている

編集ページのテキストユニット


このテキストタグセレクトのタグエリアには、通常のHTMLタグだけでなくCSSのクラスを指定することが可能です。例えばクラスを price とする場合は、以下のように記述します。

p.price

クラスを指定することによって、例えば商品の値段を表示させたい時には、表示側で "商品価格" のようにクライアントが理解しやすいラベルを付けることもできます。

ユニットグループ

ユニットグループの設定では、指定したユニットを囲んでいるDIVのクラス名を変更することができます。一般的には、ユニットグループの設定で指定したDIVのクラス名で、あらかじめスタイルシートにフロートと幅を指定し、段組レイアウトを実現します。


編集設定のユニットグループ

編集設定のユニットグループ


これらのスタイルはa-blog cmsに同梱しているacms.cssというCSSのグリッドシステムが使えるようになっています。acms.cssにないスタイルを適応する場合は、オリジナルのテーマ内のCSSに記述してください。

多くのケースでは、メインコンテンツのサイズによってユニットグループのサイズをいくつに設定するかが決まります。設定する前にメインコンテンツのサイズを決めておくと良いでしょう。


3カラムで並んだエントリー内コンテンツ

3カラムで並んだエントリー内コンテンツ


サイズセレクト

サイズセレクトでは、ユニットグループと同様に、画像や地図、動画のサイズを事前に設定することができます。


編集設定のサイズセレクト

編集設定のサイズセレクト


おすすめの「サイズ」の設定としては、大画像はメインコンテンツの幅、中画像は2つの画像を並べるサイズとして(メインコンテンツ+余白)÷2-余白、小画像は3つの画像を並べるサイズとして(メインコンテンツ+余白)÷3-余白と設定します。

例:メインコンテンツ680px、余白20px(左右10px×2=20px)

  • 大 680px
  • 中 330px (680+20)÷2-20 
  • 小 214px  (680+20)÷3-20

なおこの時、小画像の場合には小数点が出てきます。小数点がある場合は余分な余白が発生しないように1px大きめに設定します。

「表示サイズ」の設定では、クラス名か%を指定します。表示サイズを設定しなかった場合、さきほどの「サイズ」で指定した数値がpxとして表示されますので、レスポンシブウェブデザイン対応にする場合は「表示サイズ」の設定もしてください。クラス名を記述する際は、acms.cssのグリッドシステムのクラスを適応し、使うこともできます。

オススメの「表示サイズ」の設定としては、大画像を全幅、中画像を1/2幅、小画像を1/3幅で設定します。

  • 大 acms-col-md-12 または 100
  • 中 acms-col-md-6 または 50
  • 小 acms-col-md-4 または 33.333

モジュール設定

モジュールの個々の初期設定が可能です。初期設定をブラウザから変更する際にはこちらを修正するのですが、実際にサイトを構築していく時には、利用するモジュールに モジュールID という個々の名前をつけて運用するケースが多くなります。そのためこちらの設定はあまり利用しないことが多いです。

また、モジュールの設定画面の右上には「ショートカットに追加」というリンクがあります。この設定を使い、クライアントに設定しやすくするためのリンクをダッシュボード上に用意することができます。ショートカットを設定することで、更新できる場所をクライアントにも分かりやすく提示できます。


モジュールのコンフィグ画面

モジュールのコンフィグ画面


コンフィグの初期値設定

一度もコンフィグを編集していない時には、テキストファイルで設定されている初期値のデータが読み込まれます。のちに追加する子ブログの設定を統一したり、他のサイトでの設定を利用する場合は、config.system.yaml を編集することでコンフィグの設定を継承することが可能です。

/private/config.system.yaml

なお、ファイル名が似ている config.system.default.yaml は、システムのアップデート時に上書きの対象になりますので直接修正しないようにしてください。

管理機能の改善 - Ver. 3.1.0 リリース情報


この記事では、2023年09月14日にリリースされた「Ver. 3.1.0」の管理機能の新機能・改善点について紹介しています。

開発・運用で便利になる変更が多くさせております。Ver. 3.1 の管理機能の変更点について学びましょう。

新機能・改善点一覧

  • CMS-6458 コンフィグセットに加えて、テーマセットと編集画面セットを追加 & グローバルオプションを追加
  • CMS-6123 ライセンス切れ時にもキャッシュが効くように改良 & デバッグモードとベンチマークモードをユーザー詳細ページでユーザーごとに設定できるように改修(管理者のみ)
  • CMS-6135 同一ブログ内でのカテゴリーコードの重複許可オプション(category_order_strict_mode)を追加(新規インストール時デフォルトON)
  • CMS-6130 メディア編集画面でファイル名を変更する機能を追加
  • CMS-6188 エイリアス機能を管理画面でも有効になるように改修
  • CMS-6194 登録ドメイン以外でもサイトが表示できるように仕様変更(ライセンスと違うドメインの場合はnoindexとなる)
  • CMS-6215 WordPressのXMLインポートで、サムネイル画像URLをインポートできるように改善
  • CMS-6131 メディアでアップロードしたファイルのリンクに拡張子を含めるように変更
  • CMS-6322 フォームの添付ファイルの削除されるまでの時間をオプション化 & 添付ファイルの即時削除をしないオプションを追加
  • CMS-6124 ショートカット機能の編集権限及び投稿者権限で「条件設定」と「カスタム設定」の項目を編集できるように改良
  • CMS-6482 ショートカット機能のコンフィグセット対応
  • CMS-6483 ショートカット機能で複数種類のID(モジュールID × ルールIDなど)の掛け合わせに対応

CMS-6458 コンフィグセットに加えて、テーマセットと編集画面セットを追加 & グローバルオプションを追加

大きな機能変更ではありませんが、サイト制作において大きく恩恵がある機能になります。コンフィグセット機能はいままでもあった機能ですが、コンフィグセットでコンフィグを統一してもコンテンツ毎にテーマや編集画面は変わることが多いため、コンフィグセットが利用しずらい状況でした。

またコンフィグセットでベースのコンフィグを統一して、テーマや編集画面はルール機能を使って、別のコンフィグを当てる方法がありましたが、ルール機能を使うとどのようなコンフィグが当たっているか分かりづらく設定が複雑になる傾向があります。

そこで、Ver. 3.1 ではコンフィグセットの設定内容を「コンフィグセット」「テーマセット」「編集画面セット」の3つに分割するようにしました。


コンフィグセット

コンフィグセット


テーマセット

テーマセット


編集画面セット

編集画面セット


作成したコンフィグセット、テーマセット、編集画面セットは、ブログ・カテゴリーにセットできるようになっております。

これにより、コンフィグセットは、サイト全体で共通のコンフィグセットを使用し、テーマだけブログ毎に別のテーマを当てるなどが簡単に出来るようになりました。 また編集画面もコンテンツ毎に変更することが多いので、編集画面もブログとカテゴリー毎に用意している編集画面セットを別々に設定でき便利になります。


ブログの設定画面

ブログの設定画面


カテゴリーの編集画面

カテゴリーの編集画面


コンフィグセットの継承機能

さらに便利な機能として各セットを子ブログ、子カテゴリーにも継承できるようになりました。

ブログ・カテゴリーの編集画面で「子ブログ(カテゴリー)にも継承する」チェックボックスにチェックをつけることで、チェックをつけたセットが子ブログ(カテゴリー)にも反映されます。

* 子ブログ(カテゴリー)ではセットが選択されていない必要があります。子ブログ(カテゴリー)でセットが選択されている場合は、そのセットが適応されます



具体的な例で見ていきましょう。

例えば、通常のサイトであれば、テーマ設定や編集画面はブログ、カテゴリー毎に変更する事は多いですが、基本的な設定であるキャッシュ設定や機能設定、アクセス設定などはサイト全体を通して、共通のコンフィグで問題ない場合は多くあります。

このような時、ルートブログでコンフィグセットを選択し、子ブログにも継承するようにする事で、サイト全体のコンフィグをコンフィグセット1つで管理することが出来るようになります。 BASIC認証の設定などブログ毎に設定するのが大変だったと思いますが、1つ設定すればいいので、開発・運用がぐっと楽になります。

CMS-6123 ライセンス切れ時にもキャッシュが効くように改良 & デバッグモードとベンチマークモードをユーザー詳細ページでユーザーごとに設定できるように改修(管理者のみ)

ライセンス切れ時にもキャッシュが効くように改良

いままではライセンスが正式ライセンスではない場合、キャッシュ機能が利用できない状態でしたが、Ver. 3.1 で正式ライランスが当たってない状況でも、キャッシュが利用できるようにいたしました。

変更意図

変更意図として、出来るだけ本番運用時と開発時の差分を少なくしたかっためです。開発環境では問題なかったのに、キャッシュの問題で本番環境でうまく動作しないなどの可能性があるため、出来るだけ開発環境と本番環境で同一の動作をするようにいたしました。

* 正式ライセンスでない場合「noindex」になるのは、引き続き同じ動作となります。

デバッグモードとベンチマークモードをユーザー詳細ページでユーザーごとに設定できるように改修(管理者のみ)

いままでサイトの調査をするときに、config.server.php を編集してデバッグモードやベンチマークモードに変更していました。ただこのやり方だと、全ユーザーに影響が出て、変更忘れなどあった場合に、影響が続いてしまいます。

そこでVer. 3.1では、管理ユーザーの場合のみ、ユーザー編集画面で、そのユーザー限定でデバッグモードとベンチマークモードになることが出来るオプションを用意しました。これにより、気軽にデバッグモードやベンチマークモードを試せるようになりました。


ユーザー編集画面でモード設定

ユーザー編集画面でモード設定


またこの機能変更に合わせて、config.server.phpの「DEBUG_MODE」はデフォルトオフ(0)に変更いたしました。DEBUG_MODEの変更忘れを防ぐためになります。

CMS-6135 同一ブログ内でのカテゴリーコードの重複許可オプション(category_order_strict_mode)を追加(新規インストール時デフォルトON)

いままで同一ブログ内でのカテゴリーコードは重複できない仕様でした。例えば以下のような構造は設定できませんでした。

news(全体のお知らせ)
products(製品情報)
┗ news(製品のお知らせ)
recruit(採用情報)
┗ news(採用情報のお知らせ)

ブログを分ければ、同じカテゴリーコードを利用できたのですが、この制限が理由でブログを分ける必要がなくなったので、よりカテゴリーが利用しやすくなったと思います。

重複許可のオプション設定

この設定は新規インストール時はデフォルトで有効になっていますが、アップデートの場合は無効になっております。というのも以前の仕様だと動作に不具合が起きる可能性があるためです。

設定箇所は「private/config.system.yaml」で行います。

category_order_strict_mode: on # on | off カテゴリー親子関係を厳密に指定したURLでないと404になるモード。onだと同ブログ内でも同じ階層でなければ同名のカテゴリーコードを設定可能

CMS-6130 メディア編集画面でファイル名を変更する機能を追加

いままでは、メディア機能でアップロードした画像やファイルのファイル名を後から変更することができませんでしたが、今回変更できるようになりました。メディアの編集画面で編集できます。


メディアの編集画面

メディアの編集画面


CMS-6131 メディアでアップロードしたファイルのリンクに拡張子を含めるように変更

メディア(ファイル)のパーマリンクURLの仕様を変更いたしました。URLの最後にファイルの拡張子が入るようになりました。これでURLからどのようなファイルか判定できるようになります。

今までのURL

https://example.com/media-download/xx/xxxxxxxxxx/

変更されたURL

https://example.com/media-download/xx/xxxxxxxxxx/PDF/

古い仕様のURLでも問題なくアクセスできます。互換性はありますので安心して利用ください

CMS-6188 エイリアス機能を管理画面でも有効になるように改修

少しマニアックな機能ですが、ドメイン拡張ライセンスを入れて、エイリアス機能で別のドメインを設定している場合があります。

例えば、example.comというサイトがあり、en.example.com や zh.example.com のようにエイリアスで多言語対応をしている場合です。 この時今までの仕様だと各ドメインで管理ページにアクセスはできず、管理ページは基本となる1つのドメインでしかアクセスできない状況でした。(リダイレクトされる)

この仕様により、勝手にドメインが変わるので、混乱の元になり、またドメインが変わるので、セッションが切れやすい状況になっていました。

この仕様をVer. 3.1 で変更し、今閲覧しているドメインのまま管理ページにアクセス出来るようになりました。

CMS-6194 登録ドメイン以外でもサイトが表示できるように仕様変更(ライセンスと違うドメインの場合はnoindexとなる)

いままでは、ブログで設定されたドメインまたは、拡張ライセンスで追加されたドメイン以外でサイトにアクセスするとサイトは表示できませんでした。このように制限が厳しい状態だと、サイト切り替え時など不便なことが多いので、ブログで設定されていないドメインでも a-blog cms が設置されているドキュメントルートへアクセスされるURLであれば、サイトは表示するように修正しました。

具体的な例でみると、例えばサイトリニューアルでDNSを変更してサイトを公開する場合、CMSのドメインを本番用ドメインにしたあとだと、各閲覧環境でhostsファイルを書き替えないとサイトが閲覧できない状況になっていたと思います。これが新しいサーバーの仮ドメインやIPアドレスでもサイトが閲覧できるようになったので、hostsファイルの変更が要らず共有しやすくなったと思います。(サーバー環境によってはhostsファイルを変更しないと見れない場合もあります)

他の例だと、開発環境でローカル環境と社内サーバーでデータベースを共通化している場合などに、ドメインが別々になっていると思います。このような時もどちらかが見えなくなってしまうことなく、両環境でサイトを閲覧することができるようになります。

注意点としてサイトは閲覧できますが、ライセンスと違うドメインの場合はnoindexとなります

CMS-6215 WordPressのXMLインポートで、サムネイル画像URLをインポートできるように改善

以前からWordPressのエクスポートデータのインポート機能はあり、エントリーとして記事が作成できましたが、一覧でインポートした時サムネイル画像が表示できず、サムネイル画像は手動で登録するなど、実用面で問題がありました。

そこで今回、WordPressのメディアエクスポートデータからアイキャッチ画像URLをカスタムフォールドにインポートする機能を追加いたしました。

注意ポイント

注意点として、必ず投稿データのインポートを行った後、アイキャッチ画像URLのインポートを行うようにしてください。


WordPressデータのインポート画面

WordPressデータのインポート画面


CMS-6322 フォームの添付ファイルの削除されるまでの時間をオプション化 & 添付ファイルの即時削除をしないオプションを追加

フォーム機能で添付ファイルをする機能があります。こちらはフォーム入力でアップロードした後、フォーム送信が完了すると自動的にサーバーから削除するのですが、フォームを離脱してしまうと、ファイルがサーバーに残ってしまいます。そこでアップロードから30分たったファイルは自動的に削除するようになっていました。

今回この自動削除の機能をオプション化して値を設定できるようにしました。設定は「private/config.system.yaml」で行います。

form_attached_file_delete_immediately: on # on | off フォーム送信後(メール送信後)に即時に添付ファイルをサーバー上から削除するか設定します
form_attached_file_lifetime: 1800 # フォームの添付ファイルをサーバー上に残しておく秒数

特にこの設定はデフォルトで問題ありませんが、何か特別な処理をしたい場合などにご活用ください。

CMS-6124 ショートカット機能の編集権限及び投稿者権限で「条件設定」と「カスタム設定」の項目を編集できるように改良

Ver. 3.1 では、ショートカット機能で「編集者」権限及び「投稿者」権限にモジュールIDの編集権限を与えた場合でも「条件設定」や「カスタム設定」の設定項目を編集できるようになりました。

特に、「カスタム設定」の項目の編集ができるようになることで、「管理者」権限は与えたくないが、「編集者」権限や「投稿者」権限でも編集できるようにしたいデータについては、モジュールのカスタムフィールドとして制作するといった選択ができるようになりました。

Ver. 3.1 以降のバージョンで作成したモジュールIDのショートカットのみ「条件設定」と「カスタム設定」の設定項目を「編集者」権限や「投稿者」権限で編集できるようになります。
Ver. 3.1 未満のバージョンで作成したモジュールIDのショートカットは管理者のみ「条件設定」と「カスタム設定」の設定項目のみ編集できる仕様となりますので、ご注意ください。


管理画面 > ダッシュボードにあるショートカット一覧

管理画面 > ダッシュボードにあるショートカット一覧


CMS-6482 ショートカット機能のコンフィグセット対応

Ver. 3.1 からコンフィグセットに紐付けられたコンフィグのショートカットを作成できるようになりました。

Ver. 3.1 未満のバージョンではコンフィグセットのページからショートカットを追加した場合、「このブログの初期コンフィグ」へのショートカットとなる仕様でした。
しかし、コンフィグセットを利用している場合、ショートカットが利用できないことになってしまうため、Ver. 3.1 ではコンフィグセット紐付けられたコンフィグのショートカットも作成できるように改善いたしました。

これにより、コンフィグセットを利用しているサイトでもよく設定するコンフィグをショートカットに登録できるようになり、より便利にサイトを運用することができるようになったのではないでしょうか?

CMS-6483 ショートカット機能で複数種類のID(モジュールID × ルールIDなど)の掛け合わせに対応

Ver. 3.1 からはモジュールID、ルールID、コンフィグセットIDを掛け合わせた編集ページをショートカットに登録することができます。

具体的には以下のケースに対応可能です。

  • 特定のルール下でのモジュール編集ページ
  • 特定のルール下でのコンフィグ編集ページ

ルールをご利用のサイトの場合、運用者にってより更新しやすい管理画面を提供可能になりました。

管理機能改善の紹介については以上になります。他 Ver. 3.1.0 の新機能・改善も多くありますので、ぜひご覧ください。

日々使いやすいシステムとなるよう改善を勤めておりますので、皆様からの貴重なフィードバック、お待ちしております。
今後とも a-blog cms のことをどうぞよろしくお願いいたします。