Welcome, Guest! Log In | Create Account

[2.2] Expanded Profile

開発中の XOOPS Cube と XOOPS Cube Legacy に関して議論を行うスペース。

Moderator: JA moderators

Forum rules
Tracker と同じく "何日後になるかは分からないが、開発者は這ってでも必ず見る" という板を目指して試験運営中です。

[2.2] Expanded Profile

Postby kilica » Tue Feb 24, 2009 2:16 pm

このプロフィールモジュールは試作品ですので、本番環境では使わないよう、くれぐれもお願いいたします。

XCL2.2 プロフィールモジュール試作版
=======================================
ファイル
http://apps.sourceforge.net/phpbb/xoops ... ?f=3&t=112

次期XCL2.2のユーザ管理機能として、プロフィールモジュールとユーザモジュールの試作バージョンをアップロードしました。
この追加機能については、以下のトラッカURLを参照して下さい。
https://sourceforge.net/tracker/index.p ... tid=943472

現時点ではまだ試作段階ですので、動かない部分があります(削除とか)。
が、使ってみてコメント、要望などいただけたら幸いです。ただ、なるべくシンプルにしておきたいと思っていますので、要望にお答えしないこともあります。

プロフィールモジュールでは、誕生日、性別、趣味といった、ユーザのプロフィールを管理します。
サイト管理者は、簡単にプロフィールのフィールドを定義することが出来ます。
一般ユーザは、プロフィールモジュール、または他のモジュールの中で、プロフィール項目を入力できます。

プロフィールモジュールは、他のモジュールで利用できるよう、XCube Service による連携機能を持っています。
XCube Service を通じて、他のモジュールは、プロフィールモジュールで管理しているデータを使うことが出来ます。

- 他のモジュールから、プロフィールモジュールでサイト管理者が定義したフィールドの一覧を取得できます
- 他のモジュールから、特定ユーザのプロフィールを取得できます。
- 他のモジュールから、特定ユーザのプロフィールデータをセットできます。たとえば、Q&Aモジュールは、あるユーザの回答数をプロフィールモジュールにセットできます。

使い方
-----------
まずは、通常のモジュールと同じようにプロフィールモジュールをインストールしてください。
インストールが終わったら、まずはプロフィールフィールドの定義をプロフィールモジュールの管理画面から行います。
プロフィールのフィールドの定義が終わったら、ユーザがプロフィールモジュール上でその項目を入力できるようになります。

zipファイルの中のユーザモジュールはだいたいXCL2.1.6と同じです。
ただし、UserInfo を開くと、プロフィールモジュールで入力したデータが表示されます。
また、EditUser 画面では、プロフィールモジュールのフィールドがフォームの中に表示されます。
ただし、現在、EditUser画面ではデータベースが更新されません('homepage_url'という名前の項目を作った場合だけ更新されます)。

フィールドの定義
-------------------------
field name: mysql のフィールド名になります。そのため、スペースや変な記号を入れないでください。日本語もやめて。
label: フィールドの表示名です.
type: 入力のタイプです."string", "text", "int", "date", "checkbox", "selectbox"から選ぶようになっていますが、selectboxは現在動きません。
validation: このフィールドは現在無視されています。将来的にどうなるかも不明です。
required: チェックを付けると入力必須項目になります.
show form: チェックを付けると、入力フォームに表示されます.
weight: フィールドの並び順を指定します。小さい数字のほうが先に出ます。
description: フィールドの説明。
access: このフィールドにアクセスできるユーザグループを指定します.
options: typeがselectboxの場合の選択肢を表示します。

Profile_Service:
----------------
Profile_Service は XCube_Service にもとづくサービスです.
このサービスを通じて、他のモジュールはプロフィールを操作することが出来ます.

現時点では Profile_Service は四つのファンクションを持ちます.

getDefinitions(int uid, int groupid, bool show_form): フィールドの定義一覧を取得します。引数にuidかgroupidが指定されると、そのuid/groupidがアクセスできるフィールドのみを取得します。show_form引数をtrueにすると、show_formがtrueのフィールドのみを取得します。

getProfile(int uid): 特定ユーザのプロフィールデータを取得します。

getProfileArr(string field_name, string value): 全ユーザのプロフィールを取得します。field_nameとvalueが指定されると、その条件でデータを抽出します。

setProfile(string field_name, string value, int uid): 特定ユーザのプロフィールデータを追加・更新します。

Profile_Serviceの使い方のサンプルは、zipファイル内の以下のファイルをご覧ください。
- modules/user/actions/EditUserAction.class.php
- modules/user/actions/UserInfoAction.class.php
User avatar
kilica
Site Admin
 
Posts: 57
Joined: Wed Sep 24, 2008 6:06 am

Re: [2.2] Expanded Profile

Postby minahito » Tue Feb 24, 2009 3:48 pm

お疲れさまです。
日本語投稿を受けて(そして実働で使うべからずという投稿を受けて)プロジェクトサイトのニュース文も修正しておきましたぁ〜
User avatar
minahito
Site Admin
 
Posts: 162
Joined: Sat Sep 20, 2008 6:13 am
Location: Japan

Re: [2.2] Expanded Profile

Postby kilica » Wed Feb 25, 2009 1:49 am

minahito wrote:お疲れさまです。
日本語投稿を受けて(そして実働で使うべからずという投稿を受けて)プロジェクトサイトのニュース文も修正しておきましたぁ〜


ありがとうございます(^ ^)。
まあ使ってもらってもいいんですが、Gigamaster さんから「欲しかったのはこんなのじゃなーい」と言われると大幅に改修になりますので、そうなったとき自分で何とか移行できるんであれば(笑)。
User avatar
kilica
Site Admin
 
Posts: 57
Joined: Wed Sep 24, 2008 6:06 am


Return to Developer Talk (開発者の話し合い)

Who is online

Users browsing this forum: No registered users and 1 guest

cron