Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CentOS7とXOOPSから今度こそ脱却!セミナータイムテーブルをCraftCMSに統合し...
Search
Akira Ouchi
September 06, 2025
Technology
0
110
CentOS7とXOOPSから今度こそ脱却! セミナータイムテーブルをCraftCMSに統合した話 / 20250906-odc2025-ospn-craftcms
ODC2025にて発表
Akira Ouchi
September 06, 2025
Tweet
Share
More Decks by Akira Ouchi
See All by Akira Ouchi
EjecTea 2026 / 20260228-osc26tk-ejectea
akkiesoft
0
480
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
1k
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
1.2k
最近のラズピッピいじり / 20250308-rpijam-13th-birthday
akkiesoft
0
1.2k
Raspberry Pi 秋の新製品をチェックしてみよう / 20231202-rpi-jam-tokyo
akkiesoft
0
890
Raspberry Pi Pico 2 移行はアリか? / 20240927-rpi-pico2
akkiesoft
0
140
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
93
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 20240420-osunc2024-kawagoe
akkiesoft
0
310
Misskey OSPNサーバーでFediverseをはじめよう / 20240203-msky-ospn
akkiesoft
1
710
Other Decks in Technology
See All in Technology
DevOpsエージェントで実現する!! AWS Well-Architected(W-A) を実現するシステム設計 / 20260307 Masaki Okuda
shift_evolve
PRO
3
400
PMBOK第8版は第7版から何が変わったのか(PMBOK第8版概要解説) / 20260304 Takeshi Watarai
shift_evolve
PRO
0
100
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.5k
マネージャー版 "提案のレベル" を上げる
konifar
21
14k
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.7k
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
460
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
230
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
250
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
120
わたしがセキュアにAWSを使えるわけないじゃん、ムリムリ!(※ムリじゃなかった!?)
cmusudakeisuke
1
460
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
4
1.1k
ブラックボックス観測に基づくAI支援のプロトコルのリバースエンジニアリングと再現~AIを用いたリバースエンジニアリング~ @ SECCON 14 電脳会議 / Reverse Engineering and Reproduction of an AI-Assisted Protocol Based on Black-Box Observation @ SECCON 14 DENNO-KAIGI
chibiegg
0
160
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
250
Mind Mapping
helmedeiros
PRO
1
110
[SF Ruby Conf 2025] Rails X
palkan
2
820
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
120
GraphQLとの向き合い方2022年版
quramy
50
14k
Designing for Timeless Needs
cassininazir
0
150
The Pragmatic Product Professional
lauravandoore
37
7.2k
Navigating Team Friction
lara
192
16k
Being A Developer After 40
akosma
91
590k
Transcript
CentOS7とXOOPSから 今度こそ脱却! セミナータイムテーブルを CraftCMSに統合した話 あっきぃ 2025/5/31 OSC2025 Nagoya
自己紹介 • あっきぃ(大内 明) • JapaneseRaspberry Pi Users Group •
Ejectコマンドユーザー会 • 日本仮想化技術 ←今日は多分この所属 • ※2007〜2009は兄弟会社である びぎねっと 所属 • OSPNのサーバーのシステム一式の運用と保守を スキマ時間で担当
OSPNのサーバーのシステム一式の運用 オフィス内のサーバールームのラック ネットワーク サーバー 仮想化基盤(VMware) 仮想マシン コンテナ基盤(LXD)とnginx CraftCMS XOOPS Web
DB _人人人人_ > 全部 <  ̄^Y^Y^Y^ ̄ 年1〜2回停電→ OSCの日程を知っているかのように被せてくる
None
次回停電 •10/17深夜〜10/18朝 •OSCオンラインの 1日目と2日目の間に 挟むんじゃないよ
OSPNのサーバーのシステム一式の保守 サーバールーム(オフィス内) ネットワーク サーバー 仮想化基盤(VMware) 仮想マシン コンテナ基盤(LXD)とnginx CraftCMS XOOPS Web
DB 今日はここの話↓
今回のお話 • XOOPSで動いてたタイムテーブル機能を 現在のOSCのサイトで使用しているCraftCMSに統合 • 5月のOSC名古屋から使用開始 • XOOPSを動かしていたCentOS7ごと退役 • というのを5月のOSC名古屋で発表しようとして
欠席してしまったので、発表リベンジ
CraftCMS • PHPで書かれたオープンソースのCMS • マルチサイト対応 • ただし、多言語対応の応用というかんじ • OSCでは2018年後半から部分的に運用開始 •
2020年春から本格採用 • しかし同時にきた新型コロナによっていろいろ狂う • ついでにオンライン向けのページの実装とかも生えた
XOOPS • PHPで書かれたオープンソースのCMS • OSCで使われていたのは2006年頃のバージョン • 2020年のリニューアル後も「事前登録機能」と 「タイムテーブル」のために延命 • CentOS7上のPHP7.0で動くよう魔改造
• 事前登録機能はコロナのドサクサでConnpassに移行 • コロナ以降はタイムテーブル機能のみ使用
XOOPSは上部が緑色
脱・CentOS 7 + XOOPS • CentOS 7は去年EoL • XOOPSのEoL?なにそれおいしいの? •
XOOPSで実現しているテーブル機能だけ Craftに移行すれば解決! • 簡単に言ってくれるじゃないの…… • スキマ時間で……!?
Before: XOOPSでのデータ入力方法 • 時間枠×セミナー部屋でテーブルを作成 • 各枠に独自記法のテキストで情報を入力 • CraftCMSへのリンクなどに変換
独自記法のテキスト • CraftCMSに記法の生成(コピペボタン)機能を実装 • 動画リンクを追記するときとかは手書きが発生
After: CraftCMSでのデータ入力方法 • テーブル画面で編集という概念がなくなった • というか作れなかった…… • 開催日・時間枠・セミナー部屋のエントリーを作成 • 申込みデータ内のセミナー情報に、
開催日・時間枠・セミナールームの情報を当てはめる • パズルっぽい感じ
開催日・時間枠・セミナー部屋の作成
申込データでそれぞれを指定 • 時間枠は複数選択可能
生成されたタイムテーブル • XOOPSとほぼ変わらないテーブルが生成されるようになった
タイムテーブルの生成 • CraftCMSはTwigテンプレートエンジン採用 • テーブルの生成はCraftCMSのモジュール機能を使用 • PHPスクリプト • Twigでは厳しいループとか変数のやりくりができる •
モジュールで「ループを回しやすいデータ」を生成 して、Twigテンプレートでデータをループして表示 • データ生成にもループを使うのでたくさん回ってるけど やむなし
セミナー枠の重複対策 • 申込データの編集状況によっては、 セミナー枠にセミナーが重複した 状態が作れるようになってしまった • XOOPSでは起きない • 管理者向けに枠の背景を赤くして、 異常がわかりくなるように配慮
セミナーの枠への割り当て忘れ対策 • セミナー枠が指定されていない申込みデータの一覧を ページ上部に表示 • 編集リンクから作業に入れるように
さよなら、CentOS7とXOOPS •既存のXOOPSをHTML化して、 HTML置き場用のコンテナに移動 •CentOS7のコンテナを廃止 •めでた……し……? コンテナ基盤(LXD)とnginx CraftCMS XOOPS Web DB
今後の予定 • 他のコンテナとコンテナホストの Ubuntu Server 20.04を24.04化 • CraftCMSのバージョンアップ • メジャーバージョンが2つ離れており……
• 開発が終了したプラグインが使われており…… • OSC2026から新しいUbuntuとCraftCMSに移ろうと したけど検証が間に合わず、OSC2026 Osakaのサイ トがもうできてしまった!!1
おわらない •本業のスキマ時間で頑張るマンの 活躍にご期待ください •本業のスキマ時間で どうにかするものではない定期