문제

이끼의 달력을 중앙 집중화하기 위해 취하는 접근 방식에 대해 약간의 우려가 있습니다. 시나리오는 엔터프라이즈를위한 1 개의 캘린더가 있으며 이벤트는 잠재 고객 타겟팅을 통해 필터링된다는 것입니다. 캘린더에서 잠재 고객을 대상으로 바꾸는 것이 매우 간단합니다. 고객이 대상 청중의 기본 가치로 해당 이벤트를 자동 채우기를 원할 때 내 관심사가옵니다.

예를 들어, 상점 관리자가 이벤트를 게시하는 경우 대상 고객은 매장 일뿐입니다. 학군 관리자가 이벤트를 게시하는 경우 지구의 상점에만 적용됩니다. 이 아이디어는 필요한 경우 AD 또는 글로벌 관객으로부터 기본 그룹을 가져 와서 이벤트를 만들고있는 사람을 기반으로 대상 고객을 "기본"하는 것입니다.

나는 이것을 달성하기 위해 Audiencemanager 클래스와 이벤트 핸들러를 사용해야한다고 생각합니다.

jQuery를 통해 대상 고객을 광고 그룹으로 설정할 수 있습니까? 그룹을 검색하고 검색하려면 ItemAdding과 같은 이벤트 핸들러를 무시해야합니까?

이것은 캘린더 이벤트와 함께 대상 청중을 활용할 때 매우 일반적인 요청 인 것 같습니다. 그러나 나는 예제를 찾는 데 약간의 시간을 보냈고 짧았습니다.

도움이 되었습니까?

해결책

가장 좋은 추측은 실제로 ItemEventReceiver를 사용하여 ItemAdding 및 Itemupdating 이벤트를 재정의해야한다는 것입니다 (항목이 편집 된 경우) 동일한 방법 SetAudience를 호출합니다. 해당 방법에서 SPCONTEXT.CURRENT.WEB.CURRENTUSER를 기반으로 잠재 고객을 설정하십시오. 그리고 그가있는 그룹, 또는 아마도 당신이 만든 몇 가지 사용자 정의 권한 수준

불완전한 코드 :

protected override ItemAdding(properties)
{
  SetAudience(properties.ListItem)
}

protected override ItemUpdating(properties)
{
  SetAudience(properties.ListItem)
}

private void SetAudience(SPListItem item)
{
  // get current user's groups
  // check if user is a member of store managers / district managers group
  // get all audiences below this user (i.e. all stores in district or single store
  // add relevant audiences to item
}

}

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top