Archive

Archive for the ‘SharePoint – Tips & Tricks’ Category

SharePoint:DateTimeControl não funciona em formulário customizado. “Sorry, something went wrong”

Olá! Alegre

Cenário:

Precisei customizar um formulário no SharePoint 2013 e ao tentar abrir o calendário para selecionar uma data no DateTimeControl era exibido a mensagem de erro abaixo.

ERRO:

“Sorry, something went wrong”. Ou em português, algo similar a “Desculpe, algo deu errado.”

E ao procurar no ULS (LOGS) do SharePoint, a seguinte mensagem:

“Exception trying get context compatibility level: System.IO.FileNotFoundException: The site http://vmsp2013:80/_layouts/15/iframe.aspx?&cal=1&lcid=1046&langid=1046 could not be found in the Web application SPWebApplication Name=SharePoint – 80.”

SOLUÇÃO:

Demorei um tempo para reparar, mas percebi que a url não estava “correta”. Meu site utiliza “managed path”. Ou seja, seria algo como: http://vmsp2013/sites/meusite.

No SharePoint 2013 foi introduzido o “Host-Named SiteCollection” e acredito que por isso o DateTimeControl só está buscando no “root”. Mas, ainda há casos que precisamos manter compatibilidade antes de migrar para as novas tecnologias.

Enfim, o problema é causado por que NÃO existia sitecollection criada no root da WebApplication. Ao criar a sitecollection o problema foi resolvido, mas é necessário que o usuário tenha acesso a este site para que o controle DateTimeControl funcione.

Abraço!

Advertisements

Como esconder o botão “Acompanhar” da Ribbon do SharePoint 2013

Olá,

Fiz recentemente um post de como esconder alguns links da MasterPage do SharePoint:

https://thiagottss.com.br/2014/03/31/como-esconder-skydrive-e-newsfeed-links-via-css/

E para remover alguns botões da Ribbon:

https://thiagottss.com.br/2014/04/09/esconder-botes-da-ribbon-ex-baixar-uma-cpia/

 

Mas ainda, podemos pesquisar e verificar que alguns botões são adicionados/removidos por feature do SharePoint. Assim sendo, podemos desativar um feature para que o botão suma…

Eis aqui um exemplo disso: O botão “Acompanhar” (Follow)

Screen Shot 2014-04-09 at 10.47.55 AM

Para remover esse botão basta desativar a feature (ID= A7A2793E-67CD-4dc1-9FD0-43F61581207A) no site (web) desejado.

Para desativar:

Disable-SPFeature –Identity A7A2793E-67CD-4dc1-9FD0-43F61581207A –Url http://urldomeusiteSharePoint

Esconder botões da Ribbon. Ex: Baixar uma cópia

April 9, 2014 1 comment

Olá,

Seguindo o post de esconder links da MasterPage do SharePoint:

https://thiagottss.com.br/2014/03/31/como-esconder-skydrive-e-newsfeed-links-via-css/

 

Às vezes recebemos solicitações dos usuários pedindo que sejam removidos botões da Ribbon para uma aplicação e/ou site específico. E não queremos remover a Ribbon inteira… apenas alguns botões.

Para isso, primeiro identifique qual botão quer remover. Por exemplo, vou desabilidade o “Baixar uma cópia” (Download a copy) da Ribbon.

Usando o F12 do browser, vi que o id desse botão é “Ribbon.Documents.Copies.Download-Large” e ele é uma tag <a>.

Então, a linha de CSS abaixo irá esconder esse botão:

 

/*download a copy*/
a[id$=’Ribbon.Documents.Copies.Download-Large’] {
display:none;
}

 

Se você quiser esconder uma “seção” inteira da Ribbon, siga os mesmos passos, mas atente-se que a seção é uma tag <li> e não um <a>. Então, nesse outro exemplo escondi o “Marcas e Notas” (Tags and Notes). O id dessa seção inteira é “Ribbon.Documents.TagsAndNotes”.

 

/*Tags and Notes*/
li[id$=’Ribbon.Documents.TagsAndNotes’] {
display:none;
}

Abraço!

Thiago.

Como esconder skydrive e newsfeed links via CSS

March 31, 2014 2 comments

Olá! 🙂

 

Alguns clientes solicitam esconder os links que o SharePoint 2013 traz por padrão… Um exemplo, são os links do Newsfeed, Skydrive e Sites. Há diversas formas de remover, por exemplo, criando uma masterpage customizada.

Mas, de forma prática e rápida, prefiro esse "approach" de esconder via CSS. Para quem interessar, aqui está:

/*remover skydrive, newsfeed links*/
.ms-core-suiteLinkList
{display:none;
}

Screen Shot 2014-03-31 at 6.37.19 PM

E alguns outros links que você também pode remover/mudar:

/*mudar cor do header como podem perceber na imagem anterior*/
div#suiteBarLeft{
background-color: red;
}

/*TabRowRight -remove todos os links abaixo*/
/*#RibbonContainer-TabRowRight
{
display:none !important;
} */

Screen Shot 2014-03-31 at 6.39.33 PM

/*remove só o link de follow/acompanhar*/
#site_follow_button
{
display:none !important;
}
/*remove só o link de share/compartilhar*/
#ctl00_site_share_button
{
display:none !important;
}
/*remove só o link de fullscreen*/
#fullscreenmodebox
{
display:none !important;
}

/*remove só o link de sync*/
#ctl00_SyncPromotedAction
{
display:none !important;
}

 

Abraço!

This task is currently locked by a running workflow and cannot be edited

March 13, 2014 2 comments

Olá! 🙂

Esse post bem rapidinho… O Workflow do SharePoint “trava” as tarefas do tipo de conteúdo “WorkflowTask” para assegurar que a tarefa não seja editada enquanto o processo do Workflow aconcete. E depois que o Workflow termina de rodar, ele tira essa “trava” para que a tarefa seja editável novamente.

Ok! Comportamento esperado… mas, no decorrer do projeto, decidimos que as tarefas não seriam mais utilizadas em um Workflow e passariam as ser simplesmente tarefas atualizadas por outros mecanismos como: Forms Customizados e Event Receivers. Só que nesse caso específico a tarefa em questão herdava o Content Type de “WorkflowTasks” e então eu mesmo preciso tirar essa “trava” que o workflow faz automaticamente.

NOTA: Se sua tarefa herda do Content Type de “Tasks”, isso não é necessário.

Quando for atualizar uma tarefa que herda da “WorkflowTasks” atualize também a coluna do Workflow e assim a tarefa será editável.

item[Microsoft.SharePoint.SPBuiltInFieldId.WorkflowVersion] = 1;
item.Update(); //SPListItem

Pronto, o item será atualizado sem que a mensagem de erro seja apresentada.

Abraço!


										

Adicionando Menu de Navegação Lateral (QuickLaunch) nas páginas de WebPart do SharePoint

December 17, 2013 Leave a comment

Olá! Smile

Cenário:

Você já deve ter se deparado com uma página do SharePoint onde a navegação lateral não está sendo exibida. Provavelmente essa é uma Página de Web Part (ou WebPart Page – em inglês) nativa do SharePoint.

Claro, pode ser outra coisa… como a opção de mostrar ou não o QuickLaunch nas Configurações do Site e/ou via código. Mas no caso desse post, estou falando a página nativa mesmo, onde a opção de mostrar o QuickLaunch (Barra de Início Rápido) está como “mostrar” nas Configurações do Site (em Ações do Site).

Algumas vezes já arrumei isso, mas sempre esqueço quando preciso… então, como sempre faço, resolvi escrever para que eu possa vir ao meu blog e relembrar mais rapidamente… rs

ERRO:

Não chega a apresentar uma mensagem de erro, apenas a página abre “Tela Cheia”. Sem trazer a barra de navegação lateral.

clip_image002

clip_image004

SOLUÇÃO:

Edite a página no SharePoint Designer, em “Advanced Mode”, e remova (isso mesmo, APAGUE) esses dois trechos de código.

clip_image006

Toda a TAG “<SharePoint:UIVersionedContent>”. E também as Tags dos ContentPlaceHolders abaixo:

clip_image008

Salve a página e verifique se agora ela está exibindo o menu de navegação lateral! Smile

clip_image010

Abraço!

WebPart ‘Navegador da Organização’ carrega vazio em sites fora da WebApplication de MySites

September 25, 2013 Leave a comment

Olá! Open-mouthed smile

Cenário:

Eu sou MUITO fã dessa WebPart nativa do SharePoint.

Navegador da Organização (Organization Browser):

clip_image002

clip_image004

Ela roda nas páginas de perfis ao configurar o servidor de User Profile do SharePoint. Mas, e se quisermos utilizar essa webpart em nossas aplicações e sites? Good idea! Hã?!

Se o site que estiver tentando adicionar a webpart de Navegador da Organização estiver na mesma WebApplication do site de MySites, ok, irá funcionar.

Mas e se o site estiver em uma WebApplication diferente? Bom aí precisamos fazer algumas configurações, pois a WebPart irá carregar “vazia”. Se você mudar para “HTML View” perceberá que a hierarquia foi montada, mas o SilverLight View não renderiza.

ERRO:

Não chega a apresentar uma mensagem de erro, apenas a webpart abre “vazia”. Sem renderizar a hierarquia.

clip_image006

SOLUÇÃO:

Precisamos criar um arquivo XML e copiar no root das WebApplication no IIS.

Então, vamos lá. Crie o arquivo ClientAccessPolicy.xml similar a este:

<?xml version="1.0" encoding="utf-8" ?>

<access-policy>

<cross-domain-access>

<policy>

<allow-from http-request-headers="*">

<domain uri="*" />

</allow-from>

<grant-to>

<resource path="/" include-subpaths="true" />

</grant-to>

</policy>

</cross-domain-access>

</access-policy>

NOTA: você definir apenas domínio do seu site, caso não queira liberar todas uri’s (*).

Após criar o arquivo, adicione o arquivo no root da WebApplication do MySites e da WebApplication onde está rodando a webpart (C:\inetpub\wwwroot\wss\VirtualDirectories).

clip_image008

Pronto! Isso deve resolver e a webpart agora irá renderizar corretamente mesmo rodando fora da WebApplication que roda o MySites.

Abraço!