How to use the next generation XooNIps

Similar documents
KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

WebMail ユーザーズガイド

1 林 地 台 帳 整 備 マニュアル( 案 )について 林 地 台 帳 整 備 マニュアル( 案 )の 構 成 構 成 記 載 内 容 第 1 章 はじめに 本 マニュアルの 目 的 記 載 内 容 について 説 明 しています 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 林 地

内 容 1. はじめに メールのログイン 初 めてのログイン メールの 受 信 / 送 信 メールの 受 信 メールの 作 成 と 送 信 メールの 新 規 作 成 メー

目 次 機 能 概 要 配 信 管 理 1. メールの 配 信 履 歴 と 予 約 を 確 認 する

PowerPoint プレゼンテーション

 

R4財務対応障害一覧

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

電子申告直前研修会(所得税編)

2 Wee とは Wee はホームページの 更 新 ツールです Wee は サイトの 枠 組 みをWeb 製 作 業 者 が 作 成 し 更 新 は お 客 様 に 自 由 にしていただこうというコンセプトの 製 品 です インターネットに 繋 がる 場 所 ならどこからでも ブラウザでホームページ

目 次 1. 化 学 研 究 所 研 究 者 データベースについて 研 究 者 情 報 データベース 登 録 システムログイン 画 面 メニュー 画 面 パスワードの 変 更 公 開 時 の 表 示 / 非 表 示 の 設 定.

Microsoft Word - Start Up Guide1 .docx

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

購買ポータルサイトyOASIS簡易説明書 b

<82C582F182B382A2322E3594C5837D836A B2E786C73>

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

V-CUBE One

PowerPoint プレゼンテーション

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

PowerPoint プレゼンテーション

U/Cサーバ 業務システム間転送プログラムインターフェース仕様書

目 次 ログイン 方 法... 3 基 本 画 面 構 成... 4 メールサービス... 5 メールサービス 画 面 構 成... 5 アカウント 詳 細 / 設 定... 6 高 機 能 フィルター... 7 ユーザーフィルター 設 定... 8 新 規 フィルターの 追 加... 8 My ホ

目 次 1. ログイン ユーザー 登 録 TOP 職 員...8 (1) 職 員 の 名 刺 表 示...8 (2) 職 員 の 名 刺 一 括 ダウンロード...8 (3) 職 員 の 名 刺 帳 から 検 索 検 索...9 (1) 氏 名

Microsoft Word - FBE3A91F.doc

研究者情報データベース

PowerPoint プレゼンテーション

ez_meishi.ppt

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影

itutor (Windows Vista, 8, 8, 8.1 ) 製 品 紹 介 や 操 作 順 の PC 操 作 システム 運 順 の マニュアル 動 画 教 育 効 果 の い eラーニング 教 材 時 間 をかけず 簡 単 に 作 成 できる 2

新 生産管理システム ご提案書 2002年10月15日 ムラテック情報システム株式会社

- INDEX - 1 ご 利 用 時 間 1 2 メニュー 1 3 ご 利 用 になる 前 に 行 っていただきたいこと 3 (1) 所 在 地 沿 線 設 定 3 (2) 会 員 情 報 の 管 理 ( 自 社 情 報 の 設 定 ) 5 4 物 件 情 報 の 登 録 8 (1) 操 作 概

03_主要処理画面.xlsx

<4D F736F F D20819C B78AFA95DB91538C7689E68DEC90AC289

GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの 方 のみ 操 作 可

■ディレクトリ

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

■デザイン

スライド 1

Microsoft Word - ML_ListManager_10j.doc

代 議 員 会 決 議 内 容 についてお 知 らせします さる3 月 4 日 当 基 金 の 代 議 員 会 を 開 催 し 次 の 議 案 が 審 議 され 可 決 承 認 されました 第 1 号 議 案 : 財 政 再 計 算 について ( 概 要 ) 確 定 給 付 企 業 年 金 法 第

Office 10 パッケージ版「リンク集」

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ

Sea-NACCS 利用者研修 【通関編】

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

01_07_01 データのインポート_エクスポート_1

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

スライド 1

( 注 変 更 申 請 で 対 象 となる 項 目 と 郵 送 書 類 についての 詳 細 は 下 表 を 参 照 してください 東 京 電 子 自 治 体 共 同 運 営 電 子 調 達 サービス 6. 変 更 申 請 物 品 買 入 れ 等 変 更 申 請 項 目 及 び 郵 送 書 類 等 一

<95CA8E A4F C B A C E786C7378>

<4D F736F F F696E74202D B E E88E68C9A90DD8BC65F E DC58F4994C52E >

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可

別冊資料-11

Sol-012 業務プロセス管理_ppt [互換モード]

ご 利 用 の 前 に 手 順 初 回 ご 利 用 時 に 必 ずご 確 認 ください ご 利 用 の 前 に (ご 利 用 環 境 の 確 認 ) P アクセス 方 法 (IMAGE WORKSサイトへアクセス) P 初 期 設 定 (JREのインストール) P

2 課 題 管 理 ( 科 学 研 究 費 補 助 金 ) 画 面 が 表 示 されます 補 助 事 業 期 間 終 了 後 欄 の[ 入 力 ] をクリックします [ 入 力 ]ボタンが 表 示 されていない 場 合 には 所 属 する 研 究 機 関 の 事 務 局 等 へお 問 い 合 わせく

WEBメールシステム 操作手順書

スライド 1

Sol-007 内部統制一元管理 _ppt [互換モード]

DN6(R04).vin

端 末 型 払 い 出 しの 場 合 接 続 構 成 図 フレッツ グループから 払 出 されたIPアドレス /32 NTT 西 日 本 地 域 IP 網 フレッツ グループ フレッツ グループから 払 出 されたIPアドレス /

スライド 1

XOOPS Cube インストールマニュアル

PowerPoint プレゼンテーション

(Microsoft Word - \203A \225\345\217W\227v\227\314 .doc)

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft Word - 不正アクセス行為の禁止等に関する法律等に基づく公安

目 次 機 能 運 用 上 の 注 意 処 理 手 順 画 面 説 明 ログイン 直 送 先 選 択

スライド 0

2. 更 新 内 容 下 記 機 能 改 善 仕 様 変 更 不 具 合 対 応 を 行 いました 動 作 環 境 の 追 加 3.1. 受 講 者 / 管 理 者 クライアントの 動 作 環 境 に 下 記 の OS と Web ブラウザを 追 加 しました Windows 10 Microsof

ATOK Syncの設定方法と使い方(Mac用)

目 次 利 用 に 際 しての 注 意 事 項... ユーザー 登 録... ログイン... 課 題 申 請... 5 装 置 予 約... 6 ライセンス 取 得 方 法... 7 利 用 料 金 の 確 認 ( 準 備 中 ) 外 部 発 表 登 録 の 方 法... 5 < 附

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 15ページに 汎 用 データ 受 入 に 関 する よくあるお 問 い 合 わせをご 紹 介 しています Step1 (

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

設定フロー ★印は必須の設定です

操 作 の 手 順 : 個 人 住 民 税 一 括 納 付 / 新 規 依 頼 修 正 複 写 個 人 住 民 税 一 括 納 付 メニュー 個 人 住 民 税 一 括 納 付 新 規 依 頼 修 正 複 写 依 頼 / 委 託 者 情 報 入 力 (P100) 依 頼 修 正 / 委 託 者 情

名 刺 Scan とは 名 刺 Scan 情 報 を 顧 客 パーソン 情 報 として 登 録 する 名 刺 Scan とは 複 合 機 やスマートフォンなどでスキャンした 名 刺 データを 弊 社 指 定 の 名 刺 管 理 ソフトを 利 用 して 文 字 認 識

~ 目 次 ~ 1. 履 修 登 録 のながれ 1 2. 利 用 可 能 な 機 能 について 2 3.Web 履 修 登 録 画 面 へのログイン ログアウト 方 法 3 4. 予 備 登 録 ( 定 員 設 定 科 目 の 履 修 ) (1) 予 備 登 録 5 (2) 予 備 登 録 状 況

FAQ案(Linkup Manager)

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

第 1 章 共 通 操 作 1.1 ログイン PIN 番 号 入 力 (1) 大 阪 府 電 子 入 札 システム トップ 画 面 より 1 電 子 入 札 システム ボタンをクリックし ます 1 1-2

<4D F736F F D F6F82C58AC C A4A8BC C5816A>

目 次 1. 動 作 環 境 3 2.インストールおよび 起 動 画 像 管 理 システムのインストール 画 像 管 理 システムの 起 動 ユーザー 登 録 と 運 用 番 号 の 入 力 5 3.システム 概 要 6 4. 基 本 操 作 画

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加

目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの

<4D F736F F F696E74202D B B83678E9197BF2E B93C782DD8EE682E890EA97705D>

PowerPoint プレゼンテーション

中根・金田台地区 平成23年度補償説明業務

1 光 回 線 工 事 1 2 光 回 線 工 事 光 提 供 機 器 光 回 線 工 事 内 容 説 明 本 参 考 回 線 工 事 間 機 器 設 置 場 所 検 討 宅 内 配 線 端 末 機 器 等 準 備 提 携 申 込

もくじ はじめに 本 書 はスマートフォンやタブレットのアプリ LINE の 設 定 を 行 うためのマニュアルとなります 詳 しい 操 作 方 法 については メーカーホームページ 上 の 基 本 的 な 使 い 方 を 参 照 ください LINE 基 本 的 な 使 い 方

Microsoft Word - 佐野市生活排水処理構想(案).doc

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

Transcription:

XooNIpsプラットフォーム 基 盤 システムの 実 装 と 拡 張 理 化 学 研 究 所 脳 科 学 総 合 研 究 センター 神 経 情 報 基 盤 センター 奥 村 嘉 宏 2015 年 7 月 16 日 Brain Atlas Hackathon 2015 ブレインアトラスアイデアソン

XooNIps とは インターネット 上 で 多 様 な 電 子 データ(ファイル,URL, 書 籍 論 文 等 )をメタデータと 供 に 共 有 を 図 るためのWebデータベース 基 盤 シ ステム 運 用 ポリシー 設 定 XooNIps 概 観 詳 細 表 示 一 覧 表 示 ファイルダウンロード 2

システム 概 要 アカウントを 持 つユーザ データの 登 録 公 開 を 行 う 検 索 閲 覧 登 録 ユーザ 検 索 閲 覧 インデックスツリー 編 集 アイテム 登 録 編 集 外 部 DB メタデータ 交 換 個 人 利 用 個 人 領 域 個 人 領 域 個 人 領 域 インデックスツリー インデックスツリー アイテム 情 報 インデックスツリー アイテム データファイル 情 報 アイテム データファイル 情 報 電 子 ファイル アイテム 公 開 公 開 承 認 データ 公 開 公 開 領 域 インデックスツリー アイテム 情 報 電 子 ファイル 自 動 生 成 自 動 生 成 メタデータ 情 報 ランキング 情 報 研 究 者 情 報 検 索 閲 覧 通 常 のユーザ データを 閲 覧 する アイテム 共 有 検 索 閲 覧 共 有 承 認 グループ 共 有 グループ 共 有 領 域 グループ 共 有 領 域 グループ 共 有 インデックスツリー 領 域 インデックスツリー アイテム 情 報 インデックスツリー アイテム データファイル 情 報 アイテム データファイル 情 報 電 子 ファイル インデックスツリー 編 集 インデックスツリー 編 集 アカウント 情 報 編 集 グループメンバー 管 理 グループ 管 理 システム 設 定 ユーザ 情 報 アカウント 情 報 グループ 情 報 システム 情 報 サイトポリシー アクセスログ 自 動 生 成 アカウント 申 請 アカウント 承 認 ユーザ 管 理 インポート エクスポート ゲスト サイト 全 体 の システムの 設 定 を 行 う アクセスログ 解 析 サイトポリシー 設 定 グループ 共 有 情 報 を 管 理 する グループ 管 理 者 モデレータ システム 管 理 者 公 開 する 情 報 やサイトの ユーザ 情 報 を 管 理 する 3

XOOPS Cube Legacy ベース システム 構 築 運 用 コストの 削 減 無 償 利 用 可 能 なオープン ソースソフトウェア 容 易 な 機 能 拡 張 XOOPS の 既 存 モジュールと 組 み 合 わせて 多 種 多 彩 なサ イトを 構 築 可 能 デザインの 変 更 XOOPS のテーマを 変 更 する ことでレイアウトなどの 概 観 を 自 由 に 変 更 可 能 XOOPS General Modules Web browser PHP Apache Data Item type XooNIps Module Legacy (XOOPS 互 換 レイヤー) XOOPS Cube RDBMS (MySQL) User Interface Web Application Database 4

XooNIps と XOOPS Cube Legacy XooNIpsはXOOPS Cube Legacy(XCL)というCMSの 上 に 実 装 されたモ ジュール XooNIpsを 導 入 することにより 追 加 される 機 能 ユーザ 管 理 機 能 を 拡 張 メタデータとファイル 管 理 インデックスによる 整 理 とアクセス 権 の 制 御 承 認 のためのワークフロー 外 部 システム 連 携 のためのAPIなどなど 最 新 版 では 上 記 を 基 盤 となるXCLの 仕 組 みを 活 用 して 機 能 ごとに 複 数 のモジュールに 分 割 して 実 装 一 つの 見 方 として XooNIpsとは 上 記 の 機 能 を 持 つCMSであると 捉 えて もらったほうがわかりやすいかも プラットフォーム 基 盤 システム XooNIps XCL + XooNIps 機 能 追 加 モジュール 群 5

ここでは XOOPS Cube Legacy の 仕 組 みを 中 心 に 紹 介 XooNIps の 機 能 を 実 装 する 上 で XCL の 仕 組 みは 重 要 Webブラウザで 操 作 できる 機 能 にはあまり 触 れずにその 裏 側 を 覗 き 見 る 6

XOOPS Cube Legacy 7

主 なディレクトリ 構 成 html/: Webからアクセスできる 領 域 index.php: サイトトップ mainfile.php:サイト 設 定 ファイル theme/:サイトテーマ images/, uploads/ common/, js/ : 静 的 データ 用 フォルダ kernel/, include/, language/: XOOPSシステム 関 連 フォルダ(XOOPS 互 換 性 のために 残 存 ) core/, preload/: XOOPS Cube システム 関 連 フォルダ modules/: モジュール 群 legacy/, legacyrender/, stdcache/, user/:legacy XOOPS 互 換 レイヤー 実 体 profile/, message/ : Legacy で 追 加 されたモジュール xoonips/ : XooNIps モジュール xworkflow/ : 承 認 ワークフロー rest/ : XooNIps REST API (その 他 割 愛 ) xoops_trust_path/: Webから 直 接 アクセスできないところ cache/, libs/, settings/, templates_c/ :システム 関 連 ファイル (XCL 2.2~) modules/: モジュール 群 (XOOPS_TRUST_PATH 対 応 モジュールの 本 体 を 配 置 ) xoonips/ : XooNIps モジュール 本 体 xworkflow/ : 承 認 ワークフロー 本 体 rest/ : XooNIps REST API 本 体 (その 他 割 愛 ) html 側 にはブラウザで 直 接 アクセスするファイルのみ 配 置 アクセスされたら xoops_trust_path 側 の 本 体 を 呼 び 出 す 8

サイトテーマ サイト 全 体 の 配 置 やCSSなどのデザインを 決 める 左 カラム 中 央 カラム( 中 央 ) 中 央 カラム( 左 ) 中 央 カラム( 右 ) 右 カラム 左 カラム 中 央 カラム 中 央 右 カラム 各 モジュールの 機 能 単 位 の 全 ての 出 力 は 並 び 順 と 共 にいずれかに 属 す 左 右 html/themes/ 以 下 に 配 置 し 設 定 画 面 から 利 用 する テーマを 選 ぶ 9

モジュールテンプレート モジュールの 画 面 出 力 の 際 の 見 た 目 を 定 義 テンプレートの 仕 組 みを 利 用 するか 否 かはモジュールの 実 装 による 機 能 の 出 力 やさらにその 構 成 要 素 単 位 で 存 在 html/modules/{modname}/templates/*.html モジュールインストール 時 にDBの 中 にdefaultテンプレート セットとして 複 製 される 独 自 のテンプレートセットを 作 成 可 能 で 設 定 画 面 から 利 用 す るテンプレートセットを 選 択 できる 管 理 画 面 からDBに 複 製 された 各 テンプレートを 編 集 できる テンプレートファイル 本 体 を 書 き 換 えなくてもよい XoopsTpl : Smarty エンジンの 派 生 クラスで 実 装 テンプレートの 中 に PHP のコードを 埋 め 込 めるので レンダリン グの 際 に 独 自 の 処 理 を 実 行 可 能 10

データの 永 続 化 XOOPS DataMapperパターン モデル(データ)とデータベースの 間 をとりなす 仕 組 み XoopsObject:モデル 基 底 クラス 一 連 のデータの 名 前 型 属 性 ( 必 須 データ 長 など) 値 などを 保 持 get(), set() で 値 を 出 し 入 れ 継 承 して 各 モデルを 扱 うクラスを 定 義 XoopsUser, XoopsGroup, XoopsMembership など Name Type Required Length Value uid INT true 10 桁 1 uname STRING true 32 文 字 admin XoopsObjectHandler:マッパー 基 底 クラス( 実 質 インターフェースのみ) データベースと XoopsObject を 結 びつける create(), get(), insert(), delete() で 出 し 入 れ 継 承 して 上 記 モデルを 操 作 するマッパークラスを 定 義 XoopsUserHandler, XoopsGroupHandler など 11

データの 永 続 化 XOOPS Cube Legacy 互 換 性 のために 古 いORMは 残 す モデルとDB 内 テーブルを1:1で 結 びつける 際 の 典 型 的 なSQL 処 理 を 基 底 クラスとして 実 装 する ことで 派 生 クラスの 実 装 を 容 易 かつ 安 全 に 12

データの 永 続 化 サンプルコード 例 えば ユーザ 管 理 管 理 番 号 1 番 のアカウントID(uname)と 表 示 名 (name)を 取 得 $userhandler = xoops_gethandler( user ); $userid = 1; $userobj = $userhandler->get ($userid); $uname = $userobj->get( uname ); $name = $userobj->get( name ); ユーザの 名 前 を 変 更 $userobj->set( name, 神 経 基 盤 太 郎 ); $userhandler->insert ($userobj, true); user を 操 作 するマッパーハンドラを 取 得 通 常 POSTの 時 しかDBに 書 き 込 めないが true だとGETの 時 にも 強 制 的 に 書 き 込 む userobj にDB 内 のユーザテーブルの 主 キーとなる 管 理 番 号 が 指 定 されているため insert () は 新 規 追 加 ではなくて 更 新 処 理 となる 13

Action Frame Action Formを 統 一 的 にコントロールするMVCな 仕 組 み 例 : html/modules/user/index.php 1. システムの 初 期 化 2. ActionFrame を 生 成 3. ActionFrame に 実 行 したい 処 理 名 (アクション)を 設 定 4. XOOPS Cube の MVC コントローラに 登 録 5. XOOPS Cube の MVC コントローラ 実 行 1 2 3 4 5 require_once "../../mainfile.php"; require_once XOOPS_ROOT_PATH. "/header.php"; require_once XOOPS_MODULE_PATH. "/user/class/actionframe.class.php"; $root =& XCube_Root::getSingleton(); $actionname = isset($_get['action'])? trim($_get['action']) : "UserList"; $modulerunner = new User_ActionFrame(false); $modulerunner->setactionname($actionname); $root->mcontroller->mexecute->add(array(&$modulerunner, 'execute')); $root->mcontroller->execute(); require_once XOOPS_ROOT_PATH. "/footer.php"; 14

Action Frame execute 動 作 概 念 1. 操 作 対 象 となるオブジェクトを 用 意 2. 設 定 された 処 理 名 (アクション)に 対 応 するAction Formの 準 備 3. DB 内 の 既 存 のデータをオブジェクト へ 読 み 込 み 4. GETだったら 入 力 フォームを 表 示 5. POSTだったら 前 のページから 送 信 さ れたデータを 取 得 6. 取 得 したデータをチェック 7. エラーだったら 入 力 フォームをエラー 内 容 と 一 緒 に 表 示 8. エラーでなければ 取 得 した 値 をオ ブジェクトに 反 映 9. オブジェクトをDBに 保 存 4 7 1 2 3 5 6 8 9 15

Action Frame って XooNIps では 旧 版 : 3.4 系 Action Frameを 使 ってない html/modules/xoonips/ 以 下 の 各 ファイルでDB 読 み 込 み フォームリクエスト 値 取 得 条 件 分 岐 表 示 等 のプロシージャをそれぞれ 実 装 新 版 : 4.0 系 一 部 の 処 理 は Action Frame 化 xoops_trust_path/modules/xoonips/actions, xoops_trust_path/modules/xoonips/admin/actions 以 下 に ActonFormをそれぞれ 実 装 その 他 処 理 実 体 をクラス 化 してあるものの やって いることは3.4 系 と 似 たような 動 作 16

プリロード mainfile.php 内 のシステム 初 期 化 プロ セス 途 中 (common 処 理 実 行 時 )に 呼 び 出 される( 右 リスト) 自 動 的 にプリロードファイルが 読 み 込 まれ 特 定 のタイミングで 実 行 される 読 み 込 み 直 後 : prefilter データベース 起 動 後 : preblockfilter 初 期 化 の 最 終 段 階 :postfilter 大 別 して2 種 類 サイトプリロード:システム 全 体 で 利 用 可 能 html/preload/ モジュールプリロード:モジュールが 有 効 な 時 のみ html/modules/{module}/preload/ 1. サイトプリロードの 読 み 込 み 2. prefilter の 実 行 3. エラーハンドラの 初 期 化 4. 全 体 の 環 境 の 初 期 化 5. ロガーの 初 期 化 6. データベースへの 接 続 7. 言 語 の 初 期 化 8. テキストフィルタの 初 期 化 9. 一 般 設 定 の 初 期 化 10. htmlヘッダ 等 のスクリプト 初 期 化 11. デバッガの 初 期 化 12. インターフェイスクラスの 読 み 込 み 13. モジュールプリロードの 読 み 込 み 14. preblockfilter の 実 行 15. セッションの 初 期 化 16. ユーザの 初 期 化 17. モジュールの 初 期 化 18. postfilterの 実 行 17

プリロード 例 : 特 定 の 接 続 元 のログインを 遮 断 html/preload/denyloginfromnijc.class.php <?php class DenyLoginFromNIJC extends XCube_ActionFilter { public function postfilter() { $userid = Legacy_Utils::getUid(); if ($userid!= UID_GUEST && $_SERVER["REMOTE_ADDR"] == "134.160.172.20") die("go away!"); } } 18

デリゲート 特 定 の 処 理 実 行 の 一 部 を 他 のプログラムに 委 譲 するための 仕 組 み 特 定 のイベントのフックと 実 行 $delegate = new XCube_Delegate(); $event = MyDelegate.Hook.Event ; $delegate->register($event); 1 イベントの 登 録 $callbackfunction = function() { // something to do.. }; $root = XCube_Root::getSingleton(); $root->mdelegatemanager->add($event, $callbackfunction, XCUBE_DELEGATE_PRIORITY_FIRST); 2 イベントへのコールバック 関 数 の 登 録 ( 実 行 優 先 度 最 高 ) $delegate->call(); 3 イベントの 実 行 19

プリロードとデリゲート XCLで 利 用 されている 登 録 済 みイベントは100 以 上! 右 表 :ほんの 一 例 プリロード 実 行 時 preblockfilter 等 コールバック 関 数 登 録 メイン 処 理 実 行 時 イベント 登 録 ( 遅 延 登 録 ) イベント 呼 び 出 し モジュール 間 を 渡 る 処 理 の 連 携 疎 な 結 合 Legacypage.Register.Access Legacypage.Search.Access Legacypage.Top.Access Legacypage.User.Access Legacypage.Userinfo.Access Legacypage.Viewpmsg.Access Site.CheckLogin Site.CheckLogin.Fail Site.CheckLogin.Success Site.JQuery.AddFunction Site.Logout Site.Logout.Fail Site.Logout.Success 20

デリゲート 利 用 例 : 承 認 機 能 ユーザ 登 録 XooNIps Private 領 域 公 開 申 請 Public / Group 領 域 承 認 モデレータ グループ 管 理 者 XCL 2.2 で 進 捗 管 理 のためのデリゲートインター フェースが 定 義 Legacy_Workflow.AddItem : 新 規 に 承 認 タスクを 追 加 Legacy_Workflow.DeleteItem : 登 録 されている 承 認 タスクを 削 除 Legacy_Workflow.GetHistory : 承 認 履 歴 を 取 得 Legacy_WorkflowClient.GetClientList : 待 ち 受 けたいワークフロー 種 類 一 覧 を 返 す Legacy_WorkflowClient.UpdateStatus : 対 象 のワークフローの 状 態 を 更 新 21

承 認 機 能 :Xworkflowモジュール 承 認 機 能 を 実 現 するモジュール 対 象 ワークフロー 別 に 承 認 者 を 多 段 で 設 定 可 能 XooNIpsにおける 対 象 ワークフロー ユーザ 承 認,アイテム 公 開,アイテム 公 開 取 り 下 げ グループ 作 成,グループ 削 除,グループ 公 開 グループ 参 加,グループ 脱 退,など 承 認 者 特 定 のユーザ グループ グループ 管 理 者 多 段 承 認 ステップ 標 準 インターフェースの 実 装 なためXooNIps 以 外 のワークフローでも 管 理 可 能 22

承 認 機 能 : 申 請 から 承 認 まで 2 公 開 インデックスに 登 録 (Pending 状 態 ) 8 状 態 ステータスを 公 開 に 4 3の 内 容 をタスク 一 覧 へ 登 録 進 捗 管 理 開 始 6 審 査 結 果 を 履 歴 に 追 加 全 員 の 審 査 が 完 了 したら7へ 3 デリゲート 実 行 /タスク 登 録 Legacy_Workflow.AddItem XooNIps Xworkflow 1 アイテムを 公 開 インデックス へ 登 録 公 開 申 請 7 デリゲート 実 行 / 状 態 更 新 Legacy_WorkflowClient.UpdateStatus 5 査 読 審 査 承 認 ユーザ モデレータ グループ 管 理 者 23

まとめ XooNIpsサイトを 拡 張 するためには XOOPS Cube Legacyの 仕 組 みを 知 れば 意 外 と 拡 張 方 法 が 豊 富 なことに 気 付 く テンプレートで 機 能 要 素 単 位 の 見 た 目 を 変 更 デリゲート 使 えば 簡 単 に 特 定 の 処 理 だけをフックできる プリロードはどこからでも 呼 ばれるので 何 でもできる 実 際 にXooNIpsではユーザ 管 理 機 能 を 拡 張 するために 標 準 のuser モジュールの 管 理 画 面 の 一 部 をこれで 乗 っ 取 っている オリジナルのソースコードを 改 変 しなくても 済 む XooNIpsは 発 展 途 上 全 てが ActionFrame で 綺 麗 に 実 装 されているわけではないが アクションを 新 規 追 加 するのは 簡 単 (かも) 新 しくアクション 用 ファイルを 追 加 して 配 置 すればいい 新 バージョンは 動 作 実 績 が 少 ないので 人 柱 が 欲 しい 24

引 用 元 参 考 文 献 など 1. XOOPS Cube Legacy デベロッパーズバイブル Marijuana( 宇 津 木 おさむ) chatnoir( 内 水 はるか),2007,ソフトバンククリエイ ティブ 2. XOOPS Cube Legacy でつくる 最 強 のCMSサイト 鈴 木 宗 人, 2008, ソーテック 3. XOOPS Cube 日 本 公 式 サイト http://xoopscube.jp/ 4. XOOPS Cube @ WikiPedia https://ja.wikipedia.org/wiki/xoops_cube 5. XOOPSのデータ 永 続 化 アーキテクチャの 概 要 http://qiita.com/suin/items/766c91cf21d903e73aa6 6. XOOPSの 起 動 処 理 順 序 http://qiita.com/suin/items/1c288d396b48699dae2b 7. XOOPS Cubeのプリロードとデリゲートの 解 説 http://qiita.com/suin/items/6859401972c568056694 25

ありがとうございました 26