2014-08-28 40 views
0

我正在使用Ektron 9.如何讓會員用戶成爲Ektron會員組的管理員?

我有一種情況,那裏有Ektron的N個成員組。我想將 一個會員用戶關聯到每個會員組,即如果我有4個組,則應該有4個管理員,每個組有一個管理員。

業務場景是我需要觸發一個電子郵件到相應的組管理員,當一個新的會員用戶註冊Ektron。

有什麼辦法可以在Ektron中實現這個嗎?

在此先感謝。

回答

2

Ektron中沒有成員組的「管理員」概念。有一個社區小組,這可能是你想要的。在這種情況下是,這裏的文檔:

http://documentation.ektron.com/cms400/v9.00/Reference/Web/EktronReferenceWeb.html#Communities/Managing_Community_Groups.htm

但是,如果你真的想通知會員集團的成員,那麼你就需要有幾件事情。

首先,您需要一個使用OnAfterUserAddInGroup的UserStrategy(如果您還在通知移除,那麼還有一個OnAfterUserDeleteFromGroup)。這將是您啓動代碼/應用程序/發送電子郵件的任何地方。 Strategies Documentation

但是,要確定哪個用戶是「admin」將會非常棘手。正如我所說,沒有成員組織的管理員。所以你必須拿出你自己的方式將其分配給某人。你可以使用自定義角色。在這種情況下,您將擁有每個成員組的[GroupName]管理員角色。這些可以在您每次使用UserGroupStrategy OnAfterAddUserGroup創建組時創建(並使用OnAfterUpdateUserGroup或OnBeforeUpdateUserGroup重命名該角色)。 Roles Documentation

然後,您可以爲該角色分配一個(或多個)用戶。他們甚至不一定需要成爲該組織的成員。它可能是一個會員或CMS用戶等。

如果您建立了組名稱=角色名稱+「管理」約定,那麼在策略中,您只需找到當前組中遵循該範式的角色,獲得該角色的用戶,並向他們發送電子郵件。

這有點複雜,但它會工作,它將主要是自動化的。

以下是一個註釋示例,展示瞭如何初始化API,獲取所有角色,檢查用戶是否是角色成員,添加新的自定義角色,向角色添加成員以及從角色中移除成員。

var RoleAPI = new Ektron.Cms.API.Content.Content().EkContentRef; 

// Get all custom roles (careful, as the first item in my test was null) 
var roles = RoleAPI.GetAllRolePermissions(); 
// This will eliminate returned nulls. 
var names = roles.Where(r => r != null).Select(r => r).ToArray(); 

// Check whether a user is a member of the role. 
var isAMember = RoleAPI.IsARoleMember(1002, 10); 

// Add a new custom role. 
RoleAPI.AddRolePermission("Membership Group Admin"); 

// Add a user to a role. 
var member = new RoleMemberData() 
{ 
    MemberId = 10, 
    // Even membership users are type = User. 
    MemberType = RoleMemberData.RoleMemberType.User 
}; 
RoleAPI.AddRoleMember(1002, ref member); 

// Remove a user from a role (using member as defined above). 
RoleAPI.DropRoleMember(1002, ref member); 
+0

正在打交道的唯一成員users.I有你點@egandalf。但可以ü請讓我知道曄用於獲取用戶下ektron.Thank你一個特定的自定義角色時花費的API爲了我。 – 2014-08-29 06:05:23

相關問題