member data model是Commerce中最基本的model,它描述了Organization,user,role,address等信息及相互的關系。如果涉及到Commerce與后臺ERP的整合,這塊內容就是整合的第一步。
data model中涉及的表相當多,如下圖所示,總體來說,這個model分四部分內容:orgEntity,user,role 和 member group。下面將分別介紹。

注:如果對model的語法不是很熟悉,請參閱:
Legend for data models35
從關系圖可看出,整個model的核心是member這張表,在Commerce中,member有三種類別:orgentity,user和
member
group,大家在其他表中看到的member_id字段,可能是orgEntity_id,也可能是user_id。因為很多像
address,role的信息,orgentity和user都能擁有。orgentity和user的關系如下圖:

從
圖中可看出,orgentity是樹狀結構的,根節點是root Organization,orgentity又可分為buyer
Organization和seller Organization,user則屬于某個orgentity。大家可能注意到了,member
group雖然也是member,但不在這張membership hierarchy圖中,對此,info center上有這樣一段描述:
member groups are not part of the membership hierarchy but are owned by
organizational entities. This ownership determines the set of access
control policies that apply to accessing the member group.
Organization本身比較簡單,大家只要關注orgentity和address表就行了,與它關聯的其他表一般不用關心。
user涉及的表主要有users,userreg,cert_x509,address,如果采用數據庫認證,那cert_x509也不用關心了,這里
要注意一點,用戶的firstname,middlename和lastname等信息是存放在address表中的一條稱為self
address的記錄中。
member可以擁有多個address,但每個member都會有一條self address,對于user記錄了user的name,email等信息,對于orgentity,記錄了orgentity本身的地址,email,電話等信息。
member之間的關系在mbrrel表中定義的,sequence字段代表著關系的層次,1表示parent,2表示grandparent,依次類推。
member group代表著一組member--user,orgentity 或者member
group,屬于同一個組的member擁有相同的權限,行為等。每個member
group有個owner,該owner是某個orgentity,member可以被assign到某個member
group,其關系定義在mbrgrpmbr表中。系統自定義了很多member group,其中有個Registered customer
group要提一下,該member group用來確定buyer Organization和某個store的關系。如果你想在某個buyer
Organization下創建business Account,你要先把該buyer
Organization放到store對應的Registered customer group中。
Role的關系就比較簡單了,唯一需要注意的是用戶所能賦予的角色只能是用戶所在Organization擁有的角色集合的子集。
posted on 2009-08-27 11:27
Aaron.Chu 閱讀(378)
評論(1) 編輯 收藏