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
64
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
940
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
1.2k
最近のラズピッピいじり / 20250308-rpijam-13th-birthday
akkiesoft
0
1.1k
Raspberry Pi 秋の新製品をチェックしてみよう / 20231202-rpi-jam-tokyo
akkiesoft
0
850
Raspberry Pi Pico 2 移行はアリか? / 20240927-rpi-pico2
akkiesoft
0
130
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
76
Raspberry Pi 5のPCI Express拡張ボードあれこれ / 20240420-osunc2024-kawagoe
akkiesoft
0
280
Misskey OSPNサーバーでFediverseをはじめよう / 20240203-msky-ospn
akkiesoft
1
670
Raspberry PiではじめるKiCad入門 / 20240226-rpi-jam
akkiesoft
1
4.6k
Other Decks in Technology
See All in Technology
Claude Code 10連ガチャ
uhyo
2
560
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
10
1.5k
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
140
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
8
3.3k
エンジニアに定年なし! AI時代にキャリアをReboot — 学び続けて未来を創る
junjikoide
0
170
Flutterで実装する実践的な攻撃対策とセキュリティ向上
fujikinaga
1
230
仕様駆動 x Codex で 超効率開発
ismk
2
1.2k
Data & AIの未来とLakeHouse
ishikawa_satoru
0
710
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
5
280
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-self-managed
emiki
0
350
こんな時代だからこそ! 想定しておきたいアクセスキー漏洩後のムーブ
takuyay0ne
4
500
Data Engineering Guide 2025 #data_summit_findy by @Kazaneya_PR / 20251106
kazaneya
PRO
10
2.1k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
We Have a Design System, Now What?
morganepeng
54
7.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Scaling GitHub
holman
463
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Docker and Python
trallard
46
3.6k
Code Reviewing Like a Champion
maltzj
527
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The Invisible Side of Design
smashingmag
302
51k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
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
おわらない •本業のスキマ時間で頑張るマンの 活躍にご期待ください •本業のスキマ時間で どうにかするものではない定期