<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <title>Concrete</title>
    <description>Concrete CMSで開発した機能を紹介</description>
    <generator>Zend_Feed_Writer 2 (http://framework.zend.com)</generator>
    <link>https://151a.xyz/diy/program/concretecms</link>
    <item>
      <title>Concrete CMS 8.5.x｜既存ページを404にして安全に公開予約する方法</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/9017/7131/1400/pdcaplandocheckaction22_5824x3264-maxim151a.jpg" /></p>Concrete CMS 8.5.x では、一度公開したページを「日時指定で非公開に戻す」ことができません。
この制約を打破するために、本機能を独自に開発しました。

本記事では、既存ページの権限を変更することなく、
指定した未来日時までは 404 を返して非表示とし、
公開日時を過ぎると 自動的に表示される ――
安全かつ実践的な「公開予約」実装方法を技術解説として紹介します。

既存ページをそのまま活かしつつ、
事故のない公開管理を実現したい方に向けた内容です。]]></description>
      <pubDate>Tue, 17 Feb 2026 06:46:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concretecms/concrete-cms-404</link>
      <guid>https://151a.xyz/diy/program/concretecms/concrete-cms-404</guid>
      <slash:comments>0</slash:comments>
    </item>
    <item>
      <title>Concrete CMS 8.5.21：Express 大量データ環境でのランダムソート更新と UI 障害の原因・解決策</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/5417/7112/5988/8_5824x3264-maxim151a.jpg" /></p>Concrete CMS 8.5.21 の環境で、Express エントリーを扱うカスタムジョブ実行後に「クリップボードが空になる」「コンテンツ追加パネルが表示されない」といった UI 障害が発生した事例の技術メモです。原因はコード上の不具合ではなく、MySQL における 2 万件規模の全件 UPDATE によるロックが、ページ編集モードの内部 SELECT をブロックしていたことでした。本記事では、発生した現象、原因の切り分け、そして UI に影響を与えない安全なバッチ処理方式への改善方法を詳しく解説します。Concrete CMS で大量データを扱うサイト運用者にとって有用な知見となるはずです。]]></description>
      <pubDate>Sun, 15 Feb 2026 03:21:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concretecms/concrete-cmsexpress</link>
      <guid>https://151a.xyz/diy/program/concretecms/concrete-cmsexpress</guid>
      <slash:comments>0</slash:comments>
    </item>
    <item>
      <title>Concrete CMS Express 大規模データ運用：ランダムソート高速化の実践事例</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/7617/7041/9044/11_5824x3264-maxim151a.jpg" /></p>Concrete CMS の Express 機能は柔軟で扱いやすい反面、大量データを扱う際にはパフォーマンス面で課題が生じることがあります。
本記事では、15,000 件以上の Express エントリーを高速にランダム表示するための最適解を、実際の改善プロセスとともに紹介します。
]]></description>
      <pubDate>Fri, 06 Feb 2026 23:00:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concretecms/concrete-cms-express</link>
      <guid>https://151a.xyz/diy/program/concretecms/concrete-cms-express</guid>
      <slash:comments>0</slash:comments>
    </item>
    <item>
      <title>Concrete CMS Express の複合検索で numeric 属性に泣かされた話</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/9517/6682/1883/-4000-maxim151a.jpg" /></p>Concrete CMS の Express を使ってイラスト管理システムを構築しているとき、思わぬ落とし穴にはまった。
「キーワード検索を illust_kw だけでなく、illust_title や illust_no（数値）にも広げたい」
──ただそれだけの話のはずだった。
しかし、実際に手を動かしてみると、numeric 属性の扱いが想像以上に曲者だった。]]></description>
      <pubDate>Sat, 27 Dec 2025 03:21:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concretecms/concrete-cmsexpress-numeric</link>
      <guid>https://151a.xyz/diy/program/concretecms/concrete-cmsexpress-numeric</guid>
      <slash:comments>0</slash:comments>
    </item>
    <item>
      <title>Concrete CMS Expressエントリ出力1000件限界突破とAND検索実現のDoctrineの活用</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/8817/4749/3130/-maxim151a.jpg" /></p>Concrete CMS の Express エントリ一覧において「最大 1000 件までしか取得できない」という制限に直面し、標準の EntryList や Express ブロックでは対応が難しかった。ORM の制約によりカスタマイズによる解決も困難だったが、Doctrine クエリビルダーを直接用いる方法へ移行。その結果、大規模データを扱う要件を満たす実装が実現できた。副次的にスペース区切りでのAND検索機能も獲得できた。]]></description>
      <pubDate>Sat, 17 May 2025 15:58:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concretecms/concrete-cms-over1000</link>
      <guid>https://151a.xyz/diy/program/concretecms/concrete-cms-over1000</guid>
      <slash:comments>0</slash:comments>
    </item>
    <item>
      <title>Concrete CMSのSEO最適化を強化！「Description to Meta」Jobプログラムのご紹介</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/8817/4710/5392/12_5824x3264-maxim151a.jpg" /></p>Concrete CMSの標準機能では、説明（description）がmeta descriptionに変換されない問題を解決するための「Description to Meta」Jobプログラムを開発しました。これにより、記事概要を自動でmeta descriptionへコピーし、検索結果の表示を最適化できます。SEO対策と運用効率を向上させるための便利なツールです。]]></description>
      <pubDate>Tue, 13 May 2025 11:58:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concretecms/concrete-cm-metadescription</link>
      <guid>https://151a.xyz/diy/program/concretecms/concrete-cm-metadescription</guid>
      <slash:comments>0</slash:comments>
    </item>
    <item>
      <title>Concrete CMS エクスプレスデータの重複対応・一括更新ジョブ</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/4417/4705/8487/1-maxim151a.jpg" /></p>Concrete CMSのExpressデータを大量に扱う中で、同一レコードの重複登録や既存データの更新が必要になることがあります。
このジョブプログラムは、最終更新日を基準に最新のレコードを残し、古い重複データを自動的に判別・整理することで、登録データの一括更新を効率化します。
これにより、管理作業の手間を減らし、常に最新かつ正確なデータを維持することができます。]]></description>
      <pubDate>Mon, 12 May 2025 11:58:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concrete-cm-erase-duplicate</link>
      <guid>https://151a.xyz/diy/program/concrete-cm-erase-duplicate</guid>
      <slash:comments>0</slash:comments>
    </item>
    <item>
      <title>Concrete CMS エクスプレスのデータ一括削除</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/2817/4610/6341/delete-maxim151a.jpg" /></p>１万件を超えるConcrete CMSエクスプレスデータを削除しようと「エントリーをクリア」を実行したところ、タイムアウトエラーが発生。
手作業で一つずつ削除するのは現実的ではないため、一括削除プログラム を作成しました。
]]></description>
      <pubDate>Thu, 01 May 2025 11:58:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concretecms/concrete-cm-cleanup</link>
      <guid>https://151a.xyz/diy/program/concretecms/concrete-cm-cleanup</guid>
      <slash:comments>0</slash:comments>
    </item>
    <item>
      <title>Concrete CMS エクスプレスに一括CSV入力</title>
      <description><![CDATA[<p><img src="https://151a.xyz/application/files/2017/4563/6609/csvimage-maxim151a.jpg" /></p>Concrete CMSのエクスプレスデータベースには標準でCSV入力が無いのですね。そこでJOBに登録して簡単に利用できるものを作ってみました。]]></description>
      <pubDate>Sat, 26 Apr 2025 02:55:00 +0000</pubDate>
      <link>https://151a.xyz/diy/program/concretecms/concrete-cms-csv</link>
      <guid>https://151a.xyz/diy/program/concretecms/concrete-cms-csv</guid>
      <slash:comments>0</slash:comments>
    </item>
  </channel>
</rss>
