SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
factory で
XOOPSモジュール生成
         氷川 霧霞
      @kilica on Twitter
    http://jp.xoopsdev.com
Who is 氷川 霧霞 ?

• 株式会社ザクロ(名古屋市)勤務
• XCL2.2の開発やモジュール作ってる
• 普段はTRPGとかボードゲーム遊んでる
• Twitter ID: kilica
XOOPS Cube のモジュール


• ほとんどの機能はモジュールが担う
• システム、ユーザ管理、キャッシュ、
 メッセージなどなど
XOOPSのモジュール配置

• 古いモジュール
 • html/modules 以下
• 最近のモジュール
 • xoops_trust_path/modules 以下にも
モジュール配置の例
•   html
    •   modules

        •   news

        •   pico

        •   users


•   xoops_trust_path
    •   modules

        •   bulletin

        •   pico
モジュールの
             ディレクトリ構成
•   dirname
•   admin/  管理機能

•   blocks/  ブロック

•   class/
•   handler/  モデル

•   language/  言語ファイル

•   sql/mysql  インストール時のDBテーブル作成

•   templates/  テンプレート

•   index.php
•   xoops_version.php コンフィグ
• これだけ作るのは、面倒!
• モジュールジェネレータを
利用しよう!
XOOPS Cube
モジュールジェネレータ
• Cubson(C#)
• Tubson(C#)Cubsonの複製対応版
 http://sourceforge.jp/projects/mulab/releases/?package_id=9608


• TubsonP(PHP)TubsonのPHP版
 http://xoopsdev.com/modules/tubsonp/


• Factory(PHP)2.2対応拡張版
 http://jp.xoopsdev.com/modules/factory/
何が作れる?
     Cubson / Tubson / TubsonP

• 登録・削除・一覧・詳細
• 一覧:ソート・フィルタリング
• 登録:Validation
XOOPS Cube Legacy 2.1以降
何が作れる?
                 Factory
   http://jp.xoopsdev.com/modules/factory/



• 共通モジュールとの連携
• 主従テーブル
XOOPS Cube Legacy 2.2以降
モジュール生成の手順
• プロジェクトを作る
• テーブルを追加する
• フィールドを追加する
• コード生成
• ダウンロード
手順(1)

• プロジェクトを作る
•   「プロジェクト名」(=モジュール名)を
    決めて入れるだけ
手順(2)
• テーブルを追加する     複数可




 • テーブル名を入れる
 • 利用する機能を決める
 •   ユーザ、カテゴリ、タグ、画像など

 •   親テーブル
手順(3)

• テーブルにフィールドを追加する
 • フィールド名
 •型
id, posttimeなどは予め設定済み
手順(4)


• コードを生成する
 • 「モジュールを生成」ボタンを押す
手順(5)

• ダウンロード
 • 「ダウンロード」ボタンを押して、生
  成したコードをダウンロードする
• ここまではPHPの知識ゼロでも作れます
• この先はPHPの知識が必要です
• To Be Continued !
参考書籍

• XOOPS Cube Legacy
  デベロッパーズ・バイブル

Contenu connexe

Tendances

Ansibleハンズオン勉強会
Ansibleハンズオン勉強会Ansibleハンズオン勉強会
Ansibleハンズオン勉強会Takahisa Iwamoto
 
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜Yui Ito
 
TranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたちTranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたちMasakazu Matsushita
 
Word pressをweb上でインストールする
Word pressをweb上でインストールするWord pressをweb上でインストールする
Word pressをweb上でインストールするShota Watanabe
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuokaJunji Manno
 
誰でも出来るosxでのローカルなウェブ開発環境構築
誰でも出来るosxでのローカルなウェブ開発環境構築誰でも出来るosxでのローカルなウェブ開発環境構築
誰でも出来るosxでのローカルなウェブ開発環境構築Hiroshi Yamato
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~Ryuta Otaki
 
VM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみようVM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみようMasayuki Ozawa
 
HerokuからSalesforceを使ってみた
HerokuからSalesforceを使ってみたHerokuからSalesforceを使ってみた
HerokuからSalesforceを使ってみたmasaoki_ohashi
 
MODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開しますMODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開しますKei Mikage
 
a-blog cms の基本 福岡版
a-blog cms の基本 福岡版a-blog cms の基本 福岡版
a-blog cms の基本 福岡版Kasumi Morita
 
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
ノーゲーム・ノーライフ[Games on Linux] -  Kernel/VM北陸1ノーゲーム・ノーライフ[Games on Linux] -  Kernel/VM北陸1
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1Yuki Mizuno
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会Yasutaka Hamada
 
MODXで超キレッキレのブログ作る秘訣公開します りたーんず!!!
MODXで超キレッキレのブログ作る秘訣公開します りたーんず!!!MODXで超キレッキレのブログ作る秘訣公開します りたーんず!!!
MODXで超キレッキレのブログ作る秘訣公開します りたーんず!!!Kei Mikage
 
WordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオンWordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオンMasaki Takeda
 
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみたShuntaro Saiba
 
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかったKernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかったTakaya Saeki
 

Tendances (20)

Ansibleハンズオン勉強会
Ansibleハンズオン勉強会Ansibleハンズオン勉強会
Ansibleハンズオン勉強会
 
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
 
TranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたちTranslimitのChatOps事情と愉快なbotたち
TranslimitのChatOps事情と愉快なbotたち
 
Let's start ISUCON
Let's start ISUCONLet's start ISUCON
Let's start ISUCON
 
Word pressをweb上でインストールする
Word pressをweb上でインストールするWord pressをweb上でインストールする
Word pressをweb上でインストールする
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
誰でも出来るosxでのローカルなウェブ開発環境構築
誰でも出来るosxでのローカルなウェブ開発環境構築誰でも出来るosxでのローカルなウェブ開発環境構築
誰でも出来るosxでのローカルなウェブ開発環境構築
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
 
VM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみようVM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみよう
 
HerokuからSalesforceを使ってみた
HerokuからSalesforceを使ってみたHerokuからSalesforceを使ってみた
HerokuからSalesforceを使ってみた
 
MODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開しますMODXで“超”キレッキレのブログ作る秘訣公開します
MODXで“超”キレッキレのブログ作る秘訣公開します
 
a-blog cms の基本 福岡版
a-blog cms の基本 福岡版a-blog cms の基本 福岡版
a-blog cms の基本 福岡版
 
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
ノーゲーム・ノーライフ[Games on Linux] -  Kernel/VM北陸1ノーゲーム・ノーライフ[Games on Linux] -  Kernel/VM北陸1
ノーゲーム・ノーライフ[Games on Linux] - Kernel/VM北陸1
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
MODXで超キレッキレのブログ作る秘訣公開します りたーんず!!!
MODXで超キレッキレのブログ作る秘訣公開します りたーんず!!!MODXで超キレッキレのブログ作る秘訣公開します りたーんず!!!
MODXで超キレッキレのブログ作る秘訣公開します りたーんず!!!
 
WordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオンWordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオン
 
apasec001-kawai
apasec001-kawaiapasec001-kawai
apasec001-kawai
 
Devlove mackerel
Devlove mackerelDevlove mackerel
Devlove mackerel
 
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
新卒3年目のぼくが、でぶおぷす???なオジサンだらけのエンプラ金融PJにAnsibleを導入してみた
 
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかったKernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
Kernel / VM 関西9 - WSL FUSE: WSLでもFUSEしたかった
 

Similaire à Modulemaking

Cmsインサイド 120801 公開版
Cmsインサイド 120801 公開版Cmsインサイド 120801 公開版
Cmsインサイド 120801 公開版株式会社RYUS
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセスMakoto Kato
 
Mozillaのビルドインフラ
MozillaのビルドインフラMozillaのビルドインフラ
MozillaのビルドインフラMakoto Kato
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)Naoki Okino
 
Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)dynamis
 
2008 08 09_osc2008nagoya_fight_cms_x_cube
2008 08 09_osc2008nagoya_fight_cms_x_cube2008 08 09_osc2008nagoya_fight_cms_x_cube
2008 08 09_osc2008nagoya_fight_cms_x_cubeTom Hayakawa
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化Nobuyori Takahashi
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Shogo Kawahara
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったHironobu Saitoh
 
Firefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジーFirefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジーdynamis
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望Tetsuo Yamabe
 
WEB TOUCH MEETING #52
WEB TOUCH MEETING #52WEB TOUCH MEETING #52
WEB TOUCH MEETING #52Tao Sasaki
 
CMSMix Sapporo vol.3 (Drupal の回)
CMSMix Sapporo vol.3 (Drupal の回)CMSMix Sapporo vol.3 (Drupal の回)
CMSMix Sapporo vol.3 (Drupal の回)Kenji Shirane
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでRyo Nakamaru
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! Koji Shiraishi
 

Similaire à Modulemaking (20)

Cmsインサイド 120801 公開版
Cmsインサイド 120801 公開版Cmsインサイド 120801 公開版
Cmsインサイド 120801 公開版
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
 
XOOPS Cube 2012
XOOPS Cube 2012XOOPS Cube 2012
XOOPS Cube 2012
 
Mozillaのビルドインフラ
MozillaのビルドインフラMozillaのビルドインフラ
Mozillaのビルドインフラ
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
 
Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)Firefox 3.1 In Depth (?)
Firefox 3.1 In Depth (?)
 
2008 08 09_osc2008nagoya_fight_cms_x_cube
2008 08 09_osc2008nagoya_fight_cms_x_cube2008 08 09_osc2008nagoya_fight_cms_x_cube
2008 08 09_osc2008nagoya_fight_cms_x_cube
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化OSSとクラウドによるコンピューティングモデルの変化
OSSとクラウドによるコンピューティングモデルの変化
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
PHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作ったPHPで並列処理する ライブラリを作った
PHPで並列処理する ライブラリを作った
 
Firefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジーFirefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジー
 
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
 
Yesod(at FPM2012)
Yesod(at FPM2012)Yesod(at FPM2012)
Yesod(at FPM2012)
 
WEB TOUCH MEETING #52
WEB TOUCH MEETING #52WEB TOUCH MEETING #52
WEB TOUCH MEETING #52
 
CMSMix Sapporo vol.3 (Drupal の回)
CMSMix Sapporo vol.3 (Drupal の回)CMSMix Sapporo vol.3 (Drupal の回)
CMSMix Sapporo vol.3 (Drupal の回)
 
Products.PloneOrg
Products.PloneOrgProducts.PloneOrg
Products.PloneOrg
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発!
 

Modulemaking