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
130
0
Share
CentOS7とXOOPSから今度こそ脱却! セミナータイムテーブルをCraftCMSに統合した話 / 20250906-odc2025-ospn-craftcms
ODC2025にて発表
Akira Ouchi
September 06, 2025
More Decks by Akira Ouchi
See All by Akira Ouchi
10GbEな蟹NIC RTL8127をラズパイの新カーネルで触ってみよう / 20260404-osunc26kg-rtl8127-on-pi5
akkiesoft
0
610
1GB RAMのラズピッピで何ができるのか試してみよう / 20260319-rpijam-1gb-rpi-whats-possible
akkiesoft
1
2k
EjecTea 2026 / 20260228-osc26tk-ejectea
akkiesoft
0
880
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
1k
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
1.3k
最近のラズピッピいじり / 20250308-rpijam-13th-birthday
akkiesoft
0
1.2k
Raspberry Pi 秋の新製品をチェックしてみよう / 20231202-rpi-jam-tokyo
akkiesoft
0
910
Raspberry Pi Pico 2 移行はアリか? / 20240927-rpi-pico2
akkiesoft
0
160
Any Raspberry Pi (5) Updates? / 20240618-rpi-updates
akkiesoft
0
110
Other Decks in Technology
See All in Technology
Percolatorを廃止し、マルチ検索サービスへ刷新した話 / Search Engineering Tech Talk 2026 Spring
visional_engineering_and_design
0
210
Google Cloud Next '26 の裏でこっそりリリースされたCloud Number Registry & Cloud Hub コスト分析 を試してみた
hikaru1001
0
130
運用システムにおけるデータ活用とPlatform
sansantech
PRO
0
140
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
200
Route 53 Global Resolver で高額課金発生!
otanikohei2023
0
130
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
510
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
420
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
3.2k
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
280
Hacobu Tech Deck
hacobu
PRO
0
140
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
1
120
AndroidアプリとCopilot Studioの統合
nakasho
0
180
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Un-Boring Meetings
codingconduct
0
280
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
270
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
530
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
190
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
120
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Being A Developer After 40
akosma
91
590k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
From π to Pie charts
rasagy
0
170
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
おわらない •本業のスキマ時間で頑張るマンの 活躍にご期待ください •本業のスキマ時間で どうにかするものではない定期