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
58
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
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
920
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
1.1k
最近のラズピッピいじり / 20250308-rpijam-13th-birthday
akkiesoft
0
1.1k
Raspberry Pi 秋の新製品をチェックしてみよう / 20231202-rpi-jam-tokyo
akkiesoft
0
840
Raspberry Pi Pico 2 移行はアリか? / 20240927-rpi-pico2
akkiesoft
0
130
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
74
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 20240420-osunc2024-kawagoe
akkiesoft
0
280
Misskey OSPNサーバーでFediverseをはじめよう / 20240203-msky-ospn
akkiesoft
1
660
Raspberry PiではじめるKiCad入門 / 20240226-rpi-jam
akkiesoft
1
4.5k
Other Decks in Technology
See All in Technology
OCIjp_Oracle AI World_Recap
shinpy
1
170
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
2.1k
HonoとJSXを使って管理画面をサクッと型安全に作ろう
diggymo
0
170
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
3
630
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
320
様々なファイルシステム
sat
PRO
0
230
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
300
生成AI時代のPythonセキュリティとガバナンス
abenben
0
120
What's new in OpenShift 4.20
redhatlivestreaming
0
130
ヘンリー会社紹介資料(エンジニア向け) / company deck for engineer
henryofficial
0
340
頭部ふわふわ浄酔器
uyupun
0
110
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Scaling GitHub
holman
463
140k
Faster Mobile Websites
deanohume
310
31k
Making Projects Easy
brettharned
120
6.4k
The Pragmatic Product Professional
lauravandoore
36
7k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Context Engineering - Making Every Token Count
addyosmani
8
300
Thoughts on Productivity
jonyablonski
70
4.9k
Become a Pro
speakerdeck
PRO
29
5.6k
A Tale of Four Properties
chriscoyier
161
23k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
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
おわらない •本業のスキマ時間で頑張るマンの 活躍にご期待ください •本業のスキマ時間で どうにかするものではない定期