Como faço para definir um público-alvo padrão em um evento de calendário no Sharepoint?
-
16-09-2019 - |
Pergunta
Eu tenho algumas preocupações com uma abordagem que eu estou levando para centralizar um calendário no MOSS. O cenário é que não há um calendário para a Empresa e os eventos são filtrados através de público-alvo. É bastante simples para transformar público-alvo on em um calendário, a minha preocupação é quando o cliente quer auto preencher esse evento com um valor padrão no público-alvo.
Por exemplo, se um gerente de loja é postar o evento o público-alvo seria apenas a loja, da mesma forma, se um distrito gerente mensagens de um evento que só seria aplicável para as lojas em sua / seu distrito. A idéia é puxar um grupo padrão de AD ou mesmo o público global, se necessário, para o público-alvo com base em quem está criando o evento “default”.
Eu estou supondo que eu vou ter de usar a classe AudienceManager e um manipulador de eventos para obter este feito.
Posso definir o público-alvo através de JQuery para um grupo de anúncios? Preciso substituir um manipulador de eventos como ItemAdding para ir e recuperar o grupo?
Isto parece que seria um pedido bastante comum quando utilizando Públicos-alvo com um evento no calendário, mas eu gastei muito de pouco de tempo tentando encontrar exemplos e vêm-se curto.
Solução
Meu melhor palpite é que você deve realmente usar um ItemEventReceiver, substituindo o evento ItemAdding e ItemUpdating (meter o item é editado?), Ambos de chamar o mesmo método SetAudience, em que o método de definir o público-alvo com base em SPCOntext.Current. Web.CurrentUser e os grupos que se encontra, ou talvez algum nível de permissão personalizado que você criar
código incompleto:
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
}
}