a-blog cmsの管理画面を少しだけ見やすくカスタマイズ

2018年5月18日、19日の2日間にわたって、a-blog cms Training Camp 2018 Springに参加してきました。フォルトゥナでもおすすめしているa-blog cmsのユーザーが全国から集まり、事例や新しい技術を学ぶというイベントで年2回開催されています。

全国のヘビーユーザーの話は毎回勉強になりますが、その中に混ぜていただいて、私も10分ほど管理画面のカスタマイズについて話してきました。

きっかけは自分の健康問題対応

CMSのカスタマイズで「こんな技術を使ってこんなことができた」と言うのは、だいたい外側から見える部分、つまり訪問者が見ている画面の話で、もちろんそれを作るのが私たちウェブ制作者の仕事なのですが、管理画面はクライアントだけでなく、制作者も日常的に制作で使っている部分です。その制作者は「いつも使っているから慣れている」という理由であまり管理画面をよりよくするということは考えられていないと思います。

別の視点からすると、使い慣れている制作者が不便に感じることは、慣れていない人にとってはとてつもなく敷居の高いものである可能性が高いと思います。

私も慣れている制作者の一人ではあるのですが、最近慣れていても難しいという状況が出てきました。まあ加齢と環境の変化なんですが。 完全に解決させるのは難しいのですが、工夫によってマシにはなるだろうということで、こういうことをやってみました。

  • 視力の低下 → 新しいメガネの購入
  • 腱鞘炎   → マウスをトラックボールに
  • 頭痛・腰痛 → 投薬・湿布・マッサージ

後はテキストエディタや各ソフトの設定とかフォントサイズを見直したりしているわけですが、運用や更新の案件などでも一番よく使うa-blog cmsの管理画面が最新のバージョン2.8から少し変わりまして、ちょっと今の私には見えにくくなったりしてましたので、自分用に少し手を入れることにしました。

  • 視力の低下 → 文字を大きく
  • 腱鞘炎   → ボタン大きく・移動少なく
  • 頭痛・腰痛 → 作業時間減らそう

単に文字を大きくするだけなら、ブラウザの機能を使えばいいのですが、全体を大きくしたいわけでもなく、ページによって大きくしたり戻したりするのもめんどくさいので、今自分が困っている部分だけ手を入れることにしました。完全にオレオレ対応です。

変更した部分

見出しに背景色を付けた

新バージョンでは見出し部分の背景色がなくなったのですが、やはり見出しは色が付いていた方が、ブロック分けが理解しやすいです。


文字色のコントラストを高めにした

一部文字が薄いと感じられた部分の色を変えました。全パーツのコントラスト比とかを調べたりするのもしんどいので、よく使う部分に絞ってやっています。

絞り込みのセレクトボックスの間隔を広げた

エントリー(記事)の絞り込み検索を行うボックスが管理画面の上の方に付いているのですが、ここの間隔を広く取っています。その方が見やすいですし、誤操作もしにくくなります。


セレクトボックス間の余白を広げて、誤クリックを防ぐ

一覧の文字サイズを大きくして、余白を広めにした

文字のサイズを大きくしたり、余白を広く取るのは見やすさもそうなのですが、クリックできる範囲を大きくしたいというのが第1の理由です。トラックボールは細かい操作ではマウスに敵わないので、クリックできる部分は広いに越したことはないです。

管理画面はどうしてもいろいろなものを詰め込みたいので、文字や余白が小さくなりがちですが、その小さな文字をクリックしてあちこちのページに移動することも多いです。

ものすごくわかりにくいと思いますが、デフォルトと変更後を並べてみますね。


デフォルト状態のエントリー一覧


カスタマイズ後のエントリー一覧

文字を読むだけなら、フォントは大きい方がいいのですが、一覧性と操作性の兼ね合いで、どれくらいのサイズにすると使いやすいかは難しいところです。

ブログごとのカラー指定をバーの背景色からボーダーに変更

a-blog cmsではブログごとに色を指定することができるようになっています。2.7までのバージョンですと、管理画面のロゴの色とページ最上部のボーダーの色が変わるのですが、2.8からはサイドバーの背景色そのものが変わるようになり、ロゴなどは白抜きで表示されます。

色を変えなければ特に問題はないのですが、薄い色を指定するとサイドバーのメニューが見にくくなってしまうこともあります。自分で使う分にはメニューが見えないような色は使わないのでいいのですが、他の人がどう使うかわからないので、問題が起きにくいようにしています。まあおかしな色を使うなで済むことかもしれません。


ブログカラーで薄い色を選ぶと文字やアイコンが読みにくくなる

エントリーの保存ボタンと下に固定した

管理画面の記事編集は、保存ボタンが入力欄の一番下に付いています。そのため長い記事の冒頭部分を修正しても、記事の一番下までスクロールしないと保存できません。死ぬほどホイールを回すとか正直しんどいです。キーボードショートカットでページの最後に飛ぶという方法もありますが、これもショートカットを知っている人しかできません。

モジュールの編集画面では、保存ボタンが上に固定されるのですが、あえて同じにせず下に持ってきたのは、タッチパネルで保存するときに下の方が楽だからです。これに関しては異論もあるとは思いますが、動機が自分が使いやすいという理由なのでご了承ください。

a-blog cmsエバンジェリストの田村さんと開発元のアップルップルの堀さんから、管理画面ではない場合の編集(a-blog cmsの記事は管理画面と表示されるページの両方から行える)はどうするのかと聞かれましたが、表側のページはその部分が直接編集できるダイレクト編集機能がありますので、それを使うのがいいと思います。まあ保存ボタンの固定なんてすぐできると思いますので、やってもいいとは思いますが。


ページ下部に保存ボタンを固定


カスタマイズしたファイルをアップロードしておきます

使用したファイルはこちらになります。バージョン2.8のデフォルトテーマ(site2018とかbeginner2018)では、解凍したファイルを使用中のテーマに上書きしてもらうだけで使えるようになると思います。

systemテーマ(管理画面用のテーマ)は触っていませんし、影響の大きいことは何もやっていないので、割といろんな環境で使ってもらえると思いますので、a-blog cmsユーザーの方はぜひ一度お試しください。


ファイルを開く

管理画面用ファイル


諸事情で神戸で開催されていたアクセシビリティの祭典2018に行けなかったので、それっぽいことを書いてみましたが、もうちょっとカジュアルにアクセシビリティに関するブログ記事とかあってもいいと思うんですよ。



グローバル変数

global varsvalues
%{BID}2
%{UID}
%{CID}44
%{EID}713
%{RID}
%{RVID}
%{UTID}
%{CMID}
%{TBID}
%{KEYWORD}
%{TAG}
%{FIELD}
%{DATE}
%{START}1000-01-01 00:00:00
%{END}9999-12-31 23:59:59
%{PAGE}1
%{ORDER}
%{QUERY}
%{QOL}?
%{ADMIN}
%{IS_ADMIN}0
%{ADMIN_PATH}
%{ADMIN_PATH_MID}
%{MID}
%{MODULE_ID}
%{MODULE_NAME}
%{STYLEGUIDE_PAGE}acms-admin
%{GETTEXT_TYPE}user
%{BCD}blog
%{UCD}
%{CCD}ablogcms
%{ECD}ablogcms-admin-customize.html
%{BLOG_NAME}ブログ
%{USER_NAME}
%{CATEGORY_NAME}a-blog cms
%{ENTRY_TITLE}a-blog cmsの管理画面を少しだけ見やすくカスタマイズ
%{RULE_NAME}
%{CONFIG_SET_NAME}共通の設定
%{THEME_SET_NAME}ブログテーマ
%{EDITOR_SET_NAME}編集の基本設定
%{RCID}44
%{PCID}
%{RCCD}ablogcms
%{PCCD}
%{ROOT_CATEGORY_NAME}a-blog cms
%{PARENT_CATEGORY_NAME}
%{RBID}1
%{PBID}1
%{RBCD}
%{PBCD}
%{ROOT_BLOG_NAME}フォルトゥナ
%{PARENT_BLOG_NAME}フォルトゥナ
%{ALIAD_ID}
%{ALIAS_ID}
%{ALIAS_DOMAIN}
%{ALIAS_CODE}
%{ALIAS_NAME}
%{CHARSET}UTF-8
%{META_KEYWORDS}
%{META_DESCRIPTION}
%{NOW_DATE}2024-10-11
%{NOW_TIME}01:11:38
%{BLOG_THEME_COLOR}#559655
%{BLOG_THEME_CONTRAST_COLOR}#ffffff
%{VERSION}3.1.22
%{SNAME}sid
%{SID}
%{SESSION_USER_ID}
%{SESSION_BLOG_ID}
%{MAX_PUBLISHES}15
%{ROOT_TPL}/themes/blog@base/_entry.html
%{ROOT_TPL_NAME}_entry
%{ROOT_DIR}/
%{DOCUMENT_ROOT}/
%{THEMES_DIR}/themes/
%{JS_DIR}/js/
%{JS_LIB_DIR}/js/library/
%{JS_LIB_JQUERY_DIR}/js/library/jquery/
%{JS_LIB_JQUERY_DIR_VERSION}3.6.1
%{LOGIN_SEGMENT}login
%{ADMIN_RESET_PASSWORD_SEGMENT}admin-reset-password
%{ADMIN_RESET_PASSWORD_AUTH_SEGMENT}admin-reset-password-auth
%{ADMIN_TFA_RECOVERY_SEGMENT}admin-tfa-recovery
%{SIGNIN_SEGMENT}signin
%{SIGNUP_SEGMENT}signup
%{RESET_PASSWORD_SEGMENT}reset-password
%{RESET_PASSWORD_AUTH_SEGMENT}reset-password-auth
%{TFA_RECOVERY_SEGMENT}tfa-recovery
%{PROFILE_UPDATE_SEGMENT}mypage/update-profile
%{PASSWORD_UPDATE_SEGMENT}mypage/update-password
%{EMAIL_UPDATE_SEGMENT}mypage/update-email
%{TFA_UPDATE_SEGMENT}mypage/update-tfa
%{WITHDRAWAL_SEGMENT}mypage/withdrawal
%{SYSTEM_THEMES_DIR}/themes/system/
%{CURRENT_THEMES_DIR}/themes/blog@base/
%{ARCHIVES_DIR}/archives/
%{MEDIA_ARCHIVES_DIR}/media/
%{MEDIA_STORAGE_DIR}storage/
%{BID_ARCHIVES_DIR}/archives/002/
%{YM_ARCHIVES_DIR}/archives/002/202410/
%{ARCHIVES_DIR_TEMP}/archives/temp/
%{ARCHIVES_CACHE_SERVER}
%{HTTP_THEMES_DIR}https://www.color-fortuna.com/themes/
%{HTTP_CURRENT_THEMES_DIR}https://www.color-fortuna.com/themes/blog@base/
%{HTTP_ARCHIVES_DIR}https://www.color-fortuna.com/archives/
%{HTTP_MEDIA_ARCHIVES_DIR}https://www.color-fortuna.com/media/
%{HTTP_ARCHIVES_DIR_TEMP}https://www.color-fortuna.com/archives/temp/
%{HTTP_BID_ARCHIVES_DIR}https://www.color-fortuna.com/archives/002/
%{HTTP_YM_ARCHIVES_DIR}https://www.color-fortuna.com/archives/002/202410/
%{HTTP_REQUEST_URL}https://www.color-fortuna.com/blog/ablogcms/ablogcms-admin-customize.html
%{IMAGES_DIR}/themes/system/images/
%{SCRIPT_ROOT}/
%{REWRITE_OFFSET}/
%{HTTP_ROOT}https://www.color-fortuna.com/
%{DOMAIN}www.color-fortuna.com
%{DOMAIN_ROOT}www.color-fortuna.com
%{HTTP_HOST}www.color-fortuna.com
%{BASE_URL}http://www.color-fortuna.com/blog/
%{ADMIN_BASE_URL}https://www.color-fortuna.com/
%{BLOG_URL}https://www.color-fortuna.com/blog/
%{ROOT_BLOG_URL}https://www.color-fortuna.com/
%{PARENT_BLOG_URL}https://www.color-fortuna.com/
%{CATEGORY_URL}https://www.color-fortuna.com/blog/ablogcms/
%{ROOT_CATEGORY_URL}https://www.color-fortuna.com/blog/ablogcms/
%{PARENT_CATEGORY_URL}https://www.color-fortuna.com/blog/
%{CANONICAL_URL}https://www.color-fortuna.com/blog/ablogcms/ablogcms-admin-customize.html
%{ENTRY_URL}https://www.color-fortuna.com/blog/ablogcms/ablogcms-admin-customize.html
%{PERMALINK}https://www.color-fortuna.com/blog/ablogcms/ablogcms-admin-customize.html
%{INHERLINK}https://www.color-fortuna.com/blog/ablogcms/ablogcms-admin-customize.html
%{CURRENT_URL}https://www.color-fortuna.com/blog/ablogcms/ablogcms-admin-customize.html
%{HOME_URL}https://www.color-fortuna.com/
%{BASE_ACMS_PATH}blog/
%{ACMS_PATH_BASE}blog/
%{SCRIPT_DIR}/home/kyunitan/color-fortuna.com/public_html/
%{CURRENT_ROOT}/blog/ablogcms/ablogcms-admin-customize.html
%{REQUEST_PATH}/blog/ablogcms/ablogcms-admin-customize.html
%{REQUEST_DIRNAME}/blog/ablogcms
%{MODULE}
%{VALID_ID_REGEX}@^[a-zA-Z0-9_-]+$@
%{REGEX_VALID_ID}@^[a-zA-Z0-9_-]+$@
%{REGEX_VALID_PASSWD}@^[!-~]+$@
%{CATEGORY_EXISTS}1
%{CATEGORY_LEVEL}1
%{VIEW}entry
%{UA}CCBot/2.0 (https://commoncrawl.org/faq/)
%{CH_UA}
%{CH_UA_MOBILE}0
%{CH_UA_PLATFORM}
%{UA_GROUP}PC
%{REMOTE_ADDR}3.238.82.77
%{MAINTENANCE_MODE}
%{PROTOCOL}https
%{BLOG_CODE}blog
%{USER_CODE}
%{CATEGORY_CODE}ablogcms
%{ENTRY_CODE}ablogcms-admin-customize.html
%{BLOG_ID}2
%{USER_ID}
%{CATEGORY_ID}44
%{ENTRY_ID}713
%{SUID}
%{SBID}
%{SESSION_USER_AUTH}
%{SESSION_USER_NAME}
%{SESSION_USER_CODE}
%{SESSION_USER_MAIL}
%{SEARCH_ENGINE_KEYWORD}
%{MAIL_MAGAZINE_FROM}info@example.com
%{MAIL_TRACKBACK_FROM}
%{MAIL_COMMENT_FROM}info@example.com
%{MAIL_REMIND_FROM}
%{MAIL_SUBSCRIBE_FROM}info@example.com
%{MAIL_SUBSCRIBE_ADMIN_FROM}info@example.com
%{PHP_FILE_MAX_SIZE}30M
%{PHP_POST_MAX_SIZE}30M
%{MEDIA_LIBRARY}on
%{IS_DEVELOPMENT}off
%{IS_TRIAL}off
%{TRIAL_COUNT_DOWN}0
%{IS_SUBSCRIPTION}off
%{SUBSCRIPTION_PLAN}
%{UNLICENSED_REASON}
%{SUBSCRIPTION_PAYMENT}
%{ACTIVATION_ENDPOINT}https://mypage.a-blogcms.jp/api/activation
%{GOOGLE_API_KEY}
%{PREVIEW_DEFAULT_DEVICE}iPhone 6/7/8
%{PREVIEW_HAS_HISTORY_DEVICE}
%{APPROVAL_PREVIEW_DEFAULT_DEVICE}iPhone 6/7/8
%{APPROVAL_PREVIEW_HAS_HISTORY_DEVICE}
%{TIMEMACHINE_PREVIEW_DEFAULT_DEVICE}PC
%{TIMEMACHINE_PREVIEW_HAS_HISTORY_DEVICE}
%{d}11
%{D}Fri
%{j}11
%{l}Friday
%{N}5
%{S}th
%{w}5
%{z}284
%{W}41
%{F}October
%{m}10
%{M}Oct
%{n}10
%{t}31
%{L}1
%{o}2024
%{Y}2024
%{y}24
%{a}am
%{A}AM
%{B}716
%{g}1
%{G}1
%{h}01
%{H}01
%{i}11
%{s}38
%{u}000000
%{e}Asia/Tokyo
%{I}0
%{O}+0900
%{P}+09:00
%{T}JST
%{Z}32400
%{c}2024-10-11T01:11:38+09:00
%{r}Fri, 11 Oct 2024 01:11:38 +0900
%{U}1728576698

モジュール処理時間

moduleidentifierrun timesql
Entry_Body0.0448614
Entry_ListentryList0.028456
Category_ListcategoryList0.0216510
TopicpathtopicPath0.012055
Blog_FieldtopBLog0.011811
Ogp0.0101912
Blog_FieldtopBlog0.008214
NavigationglobalNavi0.006811
NavigationglobalNavi0.00581
TopicpathtopicPath0.00535
Touch_Unlogin0.004150
Blog_FieldtopBlog0.003783
Blog_FieldtopBlog0.003533
Blog_FieldtopBlog0.003513
Blog_FieldtopBLog0.003152
Entry_Field0.002942
Blog_FieldtopBlog0.002863
Topicpathtopicpath0.002173
Form0.001651
Entry_Field0.001631
Form2_Unit0.001530
Entry_Field0.001451
Form2_Unit0.001270
Form2_Unit0.001111
Js0.000380
Touch_EditDirect0.000270
Touch_NotTimemachineMode0.000270
Tag_Filter0.000230
Touch_Approval0.000230
Touch_Entry0.000230
Touch_NotApprovalEditVersion0.000230
Touch_SessionWithCompilation0.000230
Admin_Entry_Add0.000220
Form2_Unit0.000220
Touch_NotAdmin0.000220
Touch_NotEditDirect0.000220
Touch_NotPreview0.000220
Field_Search0.000210
Touch_EditInplace0.000210
Touch_sessionWithApprovalAdministrator0.000210
Touch_GeolocationEntryFunction0.00020
Touch_NotEditInplace0.00020
Touch_RelatedEntryFunction0.00020
Touch_SessionWithAdministration0.00020
Touch_HigherLicense0.000190
Touch_MailMagazineEnable0.000180
Touch_NotApprovalORsessionWithApprovalAdministrator0.000180
Touch_NotTag0.000180
Touch_NotsessionWithApprovalAdministrator0.000180
Touch_Tag0.000180
Touch_ApprovalEditVersion0.000170
Touch_Form20.000170
Touch_SessionWithContribution0.000170
Touch_Version0.000170
Touch_Admin0.000160
Touch_Benchmark0.000160
Touch_Edit0.000160
Touch_Entry0.000160
Touch_NotEntry0.000160
Touch_SessionWithAdministration0.000160
Touch_SessionWithContribution0.000160
Touch_SubCategoryFunction0.000160
Touch_Admin0.000150
Touch_Debug0.000150
Touch_GeolocationEntryFunction0.000150
Touch_Index0.000150
Touch_NotCategory0.000150
Touch_NotEdit0.000150
Touch_Top0.000150
Touch_Keyword0.000140
Touch_NotPreview0.000140
Touch_NotPreview0.000140
Touch_NotPreview0.000140
Touch_SessionWithContribution0.000140
Touch_Category0.000130
Touch_Login0.000130
Touch_NotPreview0.000130
Touch_SessionWithAdministration0.000130
Touch_SessionWithContribution0.000130
Touch_Unlogin0.000130
Touch_Edit0.000120
Touch_Entry0.000120
Touch_NotApprovalORsessionWithApprovalAdministrator0.000120
Touch_NotPreview0.000120
Touch_SessionWithContribution0.000120
Touch_SubCategoryFunction0.000120
Touch_EditInplace0.000110
Touch_NotAdmin0.000110
Touch_NotEdit0.000110
Touch_NotEdit0.000110
Touch_NotEntry0.000110
Touch_SessionWithAdministration0.000110
Touch_SessionWithContribution0.000110
Touch_Unlogin0.000110
Touch_Version0.000110
Touch_Admin0.00010
Touch_Entry0.00010
Touch_NotEntry0.00010
Touch_NotPreview0.00010
Touch_NotPreview0.00010
Touch_RelatedEntryFunction0.00010
Touch_SessionWithAdministration0.00010
Touch_SessionWithAdministration0.00010
Touch_SessionWithContribution0.00010
Touch_SessionWithContribution0.00010
Touch_Tag0.00010
Touch_sessionWithApprovalAdministrator0.00010
Touch_Entry9.0E-50
Touch_Entry9.0E-50
Touch_Entry9.0E-50
Touch_Entry9.0E-50
Touch_NotEdit9.0E-50
Touch_SessionWithContribution9.0E-50
MODULE TOTAL TIME0.2034982
BOOT TOTAL TIME0.25571
BUILD TOTAL TIME0.26479
REWRITE PATH TOTAL TIME0.0115
PROCCESS TIME0.643598

テンプレート

template
themes/base/include/head/meta.html
themes/base/include/head/robots.html
themes/base/include/head/link.html
themes/base/include/head/js.html
themes/base/include/head/structured-data.html
themes/base/include/body-start.html
themes/base/include/header.html
themes/base/include/header/dynamicGlobalNavi.html
themes/system/admin/module/setting.html
themes/blog@base/include/header/page-title.html
themes/base/include/header/topicpath.html
themes/system/admin/action.html
themes/system/include/check-seo.html
themes/base/include/footer.html
themes/base/include/body-end.html
themes/base/include/module/tag/filter.html
themes/base/include/module/entry/bodyNoDate.html
themes/system/admin/entry/revision-info.html
themes/system/admin/entry/title.html
themes/system/include/unit.html
themes/base/include/unit/tag-select.html
themes/system/include/gmaps-error.html
themes/base/include/unit/custom.html
themes/base/include/unit/extend.html
themes/base/include/module/entry/continue.html
themes/base/include/form/unit.html
themes/base/include/form/input.html
themes/base/include/form/confirm.html
themes/system/admin/entry/edit.html
themes/system/admin/entry/style.html
themes/system/admin/entry/geo.html
themes/system/admin/map/_google-map-picker.html
themes/system/admin/map/_open-street-map-picker.html
themes/system/admin/entry/related.html
themes/system/admin/entry/related-table.html
themes/base/admin/entry/field.html
themes/base/admin/entry/ogp.html
themes/base/admin/entry/pickup.html
themes/base/admin/entry/seo.html
themes/system/admin/entry/unit.html
themes/base/admin/entry/unit/extend.html
themes/base/admin/entry/field_foot.html
themes/system/admin/entry/revision.html
themes/system/admin/entry/js.html
themes/system/admin/entry/add.html
themes/system/admin/form2/edit.html
themes/system/admin/form2/unit.html
themes/system/admin/entry/action.html
themes/base/include/module/entry/list.html
themes/base/include/module/category/list.html

メモリー

keyvalue
memory_limit200M
memory_get_usage3.59 MB
memory_get_peak_usage5.27 MB

Query Count

query count
123