Leveraging SharePoint Single Page Apps - Apresentação

by Marcel Medina29. maio 2014 07:58

Oi pessoal,

Obrigado aos que apareceram no encontro mensal do Auckland SharePoint User Group.

Segue aqui a apresentação:

[]'s,

Marcel Medina

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

Tags: , ,

Apresentação

Apresentação no SPUG Auckland

by Marcel Medina20. maio 2014 01:05

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.

Tags: , , ,

Apresentação

SocialCommentControl - html5 bug

by Marcel Medina20. janeiro 2014 04:30

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.

Tags: ,

Dicas e Truques | Troubleshooting

Perfil



Marcel Medina é especialista em desenvolvimento .NET/SharePoint.

Atua como Consultor e Microsoft Trainer nas tecnologias citadas.

Possui 13 anos de experiência no mercado de TI e as seguintes certificações: MCP, MCDBA, MCAD, MCSD, MCTS (incluindo WSS 3.0, MOSS 2007 & SharePoint 2010, Application Development), MCITP (SharePoint Administrator 2010), MCPD (Enterprise Application Developer 2.0/3.5 & SharePoint Developer 2010) e MCT.

Suporte esse site

Se você quiser ajudar a manter esse site disponível, por favor faça uma doação:

 

Obrigado!

 

 

 

 

Listagem Mensal


Site Meter