SharePoint 4 Developers

Guia de referência adicional em desenvolvimento .NET / SharePoint

Apresentação no SPUG Auckland

Oi pessoal,

Estarei apresentando no SharePoint User Group Auckland dia 20 de maio sobre "Leveraging SharePoint Single Page Apps".

Nesta apresentação vou abordar como usufruir da arquitetura de Apps no SharePoint com a utilização de Single Page Apps. 

Vamos ver o conceito, pros, cons e frameworks de javascript utilizados no desenvolvimento. Os superheróis da Liga da Justica estarão por lá, se puder dê uma passada por lá.

Mais detalhes: http://www.meetup.com/Auckland-SharePoint-User-Group/events/179945782/

[]'s,

Marcel Medina

Clique aqui para ler o mesmo conteúdo em Inglês.

SocialCommentControl - html5 bug

Este post mostra o fix para fazer o controle SocialCommentControl funcionar com Html5. No SP2013 este controle foi descontinuado (deprecated), o que explica o porquê de nada ter sido feito ao controle. Veja como corrigir o bug.

Oi pessoal,

Bom estar de volta falando sobre minhas experiências com SharePoint 2013. Já faz um tempinho desde meu último post, dessa vez estou postando sobre um fix para fazer o controle SocialCommentControl funcionar com Html5.

No SP2013 este controle foi descontinuado (deprecated), o que explica o porquê de nada ter sido feito ao controle. Ao adicioná-lo a uma page layout o markup quebra.

Nesse post estou falando desse controle, mas se você está usando SocialCommentWebpart o comportamento é o mesmo, pois ele empacota o controle com propriedades da webpart.

Googling não ajudou muito, então decidi fazer engenharia reversa dos assemblies SharePoint e ver a implementação. O problema está na html div tag. Com Html 5 self-closing tags não funcionam, e esse controle utiliza esse tipo de implementação, veja abaixo:

  1. protected override void CreateChildControls()
  2. {
  3.     base.CreateChildControls();
  4.     if (!this.IsUPAEnabled)
  5.     {
  6.         string text = SPHttpUtility.HtmlEncode(StringResourceManager.GetString(LocStringId.SocialComment_NeedAuthenticatedMessage));
  7.         text = string.Format(CultureInfo.InvariantCulture, "<span>{0}</span>", new object[]
  8.         {
  9.             text
  10.         });
  11.         this.Controls.Add(new LiteralControl(text));
  12.         return;
  13.     }
  14.     this.Controls.Add(new LiteralControl("<div class=\"ms-socialCommentContents\" id=\"" + this.RootElementId + "\">"));
  15.     if (this.IsShowNewArea)
  16.     {
  17.         this.RenderNewArea();
  18.     }
  19.     this.RenderEditArea();
  20.     this.RenderErrorArea();
  21.     this.RenderPagingControlContainer();
  22.     this.Controls.Add(new LiteralControl("<div id=\"" + this.ClientID + "_PlaceHolder\" />"));
  23.     this.Controls.Add(new LiteralControl("</div>"));
  24. }
A linha 14 mostra o problema. A tag div é self-closed, o que não funciona com html 5.

A solução para esse caso é simples. Pelo fato de não haver uma closing tag, adicionando-a o problema é eliminado.

Crie uma nova classe, faça a herança de SocialCommentControl e override o método CreateChildControls() adicionando a closing tag. Conforme exibido abaixo:

  1. public class SocialCommentHtml5Control : SocialCommentControl
  2.     {
  3.         protected override void CreateChildControls()
  4.         {
  5.             base.CreateChildControls();
  6.             this.Controls.Add((Control)new LiteralControl("</div>"));
  7.         }
  8.     }

É isso. Adicione o controle a sua page layout e utilize no SP2013.

Espero que isso ajude.

[]’s,

Referência:
Microsoft Forum

Clique aqui para ler o mesmo conteúdo em Inglês.

Channel 9 Videos - TechEd New Zealand 2013

TechEd &#233; um evento t&#233;cnico da Microsoft com foco educacional e de networking para qualquer profissional de tecnologia interessado em aprender, se atualizar e explorar a vasta gama de tecnologias Microsoft, atuais e futuras, incluindo ferramentas, plataformas e servi&#231;os.

Oi pessoal,

Se você perdeu a oportunidade de ver o TechEd 2013 na Nova Zelândia, você pode bisbilhotar no Channel 9.

 

Todas as sessões estão disponíveis aqui:

http://channel9.msdn.com/Events/TechEd/NewZealand/2013

[]'s,

Marcel

Clique aqui para ler o mesmo conteúdo em Inglês.