Arquivo da categoria: Dicas

Caracteres especiais em nomes de arquivos (# e %) no SharePoint Online e OneDrive for Business

Olá SharePointers,

Acredito que muitos de nós acabou passando por uma situação semelhante: em alguma necessidade de negócio orientamos a utilização do OneDrive for Business ou do próprio SharePoint (Online) ao invés dos File Servers – aliás, essa é uma necessidade bem comum.

Depois de alguma negociação (as vezes até resistência) conseguimos convencer o cliente/empresa e começamos a planejar a migração.

Quando realizamos o assessment dos dados que precisamos migrar, percebemos ou somos lembrados mais uma vez disso, que o usuário consegue e sempre será muito criativo. E, por consequência disso, precisamos fazer algum tratamento nos nomes dos arquivos porque não são suportados no SharePoint / OneDrive for Business.

Mas vocês podem perguntar..

Porque alguém utilizaria esses caracteres em uma pasta ou arquivo?

Para responder essa pergunta, não precisamos ir muito longe: E se precisássemos criar uma pasta para guardar todo o material que temos de estudo da linguagem C#? Como faríamos?

Agora, seus problemas acabaram! Bom, pelo menos com os caracteres # e %.

Por enquanto, os tenants estão com essa opção desabilitada. Para habilitar, basta executar o código abaixo no SharePoint Online Management Shell

OBS: Para os novos tenants, a partir de Junho de 2017, essa opção virá habilitada por padrão.

Para saber mais sobre o assunto, leia:

Caracteres inválidos no SharePoint Online / One Drive for Business

Anúncio do suporte aos caracteres % e #

 

SharePoint Framework – Quick Samples

Olá SharePointers,

Criei um repositório no Github onde colocarei alguns exemplos rápidos, mas que podem ajudar bastante no nosso dia-a-dia.

O link do repositório é: https://github.com/RARomano/SharePointFramework-Samples – Se gostarem, cliquem no ícone Star no Github 😀

O primeiro exemplo, mostra como carregar CSS de um CDN, o que acredito que será muito útil para todo mundo.

Para quem quiser o Link direto dessa dica é esse aqui: https://github.com/RARomano/SharePointFramework-Samples/tree/master/AddCustomStyles

 

Grande Abraço!

SharePoint Virtual Summit

Olá SharePointers,

No dia 16 de Maio de 2017, acontecerá um evento virtual muito interessante, o SharePoint Virtual Summit – totalmente gratuito.

No evento do ano passado, o conteúdo abaixo foi apresentado:

  • O primeiro app SharePoint multiplataforma (iOS, Android, Windows Mobile) e a nova experiência da Home no SharePoint Online.
  • A experiência “Moderna” dos Team Sites.
  • Uma nova ferramenta de sincronização de arquivos, OneDrive Sync, com suporte para arquivos do SharePoint e pastas compartilhadas.
  • Integração com PowerApps e Microsoft Flow
  • SharePoint Framework
  • Novos recursos de segurança e compliance como DLP (Data Loss Prevention), Conditional Access e MDM (Mobile Device Management).

A agenda desse ano é bem interessante também! Eles vão explorar como podemos tirar proveito do SharePoint Online, OneDrive e outras ferramentas do Office 365 para criarmos um ambiente de trabalho conectado, dando poderes ao usuário para conectar-se com pessoas e conteúdo de forma segura.

Quem puder participar, registre-se.

 

Access Services – R.I.P

Olá SharePointers,

A Microsoft anuncia hoje que o Access Services será descontinuado.

Quando foi lançado, esse recurso era permitir que usuários de negócios um pouco mais avançados, conseguissem criar uma aplicação web com pouco ou com quase nenhum código. Com o crescimento do Power Apps, acaba não fazendo muito sentido a utilização desse recurso.

Então, se você utiliza ou pretendia utilizar esse recurso, atenção:

A Microsoft não recomenda mais a utilização do Access Services. Esse recurso será RETIRADO do Office 365.

A partir de Junho de 2017, não será mais possível criar aplicações baseados no Access no SharePoint Online. 

Para você que possui aplicações Access rodando no SharePoint Online, você terá até Abril de 2018 para migrá-las. A Microsoft está trabalhando para criar soluções que facilitem essa migração. Existe uma feature (já disponível) para exportar os dados existentes para listas do SharePoint e então você poderá criar as funcionalidades utilizando  PowerApps e Microsoft Flows.

Existe, também, um guia para migrar a sua aplicação customizada para PowerApps publicado aqui: https://support.office.com/en-us/article/Export-Access-web-app-tables-to-SharePoint-ff9d9058-14cf-40a2-89c8-ec46cf5cd67c?ui=en-US&rs=en-US&ad=US

A grande ressalva é que para versões On-Premises do SharePoint, o Access Services ainda será disponibilizado.

Se liguem pessoal!

Anúncio oficial: https://techcommunity.microsoft.com/t5/Office-Retirement-Blog/Updating-the-Access-Services-in-SharePoint-Roadmap/ba-p/57148

 

Abraços!

Criação de sites Self-Service em ambientes híbridos no SharePoint Server 2013

Olá SharePointers,

Conforme anunciado pelo Bill Baer, agora é possível habilitar a criação self-service de sites em ambientes híbridos no SharePoint 2013, ou seja, você pode direcionar os usuários a utilizarem a página de criação de sites do Office 365 ao invés da on-premises e criar um grupo no Office 365.

Essa opção está disponível para administradores, na página de Self-service Site Collection Management (Central Administration).

Quando o usuário clicar em criar um site e essa opção estiver habilitada, ele irá para a página abaixo (/_layouts/15/scsignup.aspx)

Para os usuários restantes, os que não estão sincronizados com a nuvem ou não estão na audiência desejada, continuarão utilizando a versão on-premises.

Atenção: essa funcionalidade foi incluída no Public Update de Março de 2017. Faça o download utilizando esse link: https://technet.microsoft.com/en-us/library/mt715807(v=office.16).aspx#BKMK_2013

Veja mais em: https://techcommunity.microsoft.com/t5/SharePoint-Blog/Hybrid-Self-Service-Site-Creation-now-available-for-SharePoint/ba-p/52977

Muito interessante, não acham?

Abraços!

Acesso condicional por IP para SharePoint Online e OneDrive for Business

Olá SharePointers,

A partir de amanhã, 20/01/2017, a Microsoft começará a liberar nos tenants uma nova política que permitirá aos usuários restringirem o acesso aos sites do SharePoint Online (e OneDrive) por um range de IPs.

A aplicação dessa política, no entanto, é bem forte. Precisamos tomar muito cuidado com a faixa de IPs que colocamos, ela DEVE necessariamente incluir a faixa de ip dos administradores, caso contrário, eles não poderão mais acessar o site para remover ou alterar a faixa de IP. Caso isso aconteça, a única forma de restaurar acesso ao site é abrir um chamado para o suporte, então tenham bastante atenção com essa configuração!!!!

Uma nova seção User Access estará disponível na Central Admin e lá você terá a opção de colocar a faixa de IPs desejada, conforme imagem abaixo:

E, quando um usuário que não estiver nessa faixa de IPs acessar o site, ele verá o seguinte erro:

 

Bem legal né? 😀

 

Mais informações: 

https://blogs.office.com/2016/09/26/enhanced-conditional-access-controls-encryption-controls-and-site-classification-in-sharepoint-and-onedrive/

https://techcommunity.microsoft.com/t5/SharePoint-Blog/Introducing-Conditional-Access-by-Network-Location-for/ba-p/39274 

 

Abraços! 

SharePoint Framework

Olá SharePointers,

Nas últimas semanas (talvez meses) podemos notar um movimento diferente da Microsoft. Para muitas pessoas, eu estou incluso, seria muito dificil acreditar em alguns movimentos que ela tomou como empresa.

Podemos citar algumas coisas, dentre tantas outras:

SQL Server no Linuxhttps://blogs.microsoft.com/blog/2016/03/07/announcing-sql-server-on-linux/

PowerShell no Linuxhttps://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/

.NET Open Source e com código disponível no GitHub (não é tão novidade assim, mas é bem interessante) – https://blogs.msdn.microsoft.com/dotnet/2014/11/12/net-core-is-open-source/ 

 

Com tantos movimentos, alguns podem ter pensado: “E o nosso querido SharePoint?”

 

Recentemente a Microsoft publicou no GitHub um repositório relacionado ao SharePoint (https://github.com/sharepoint).  Nesse repositório tem um guia detalhada de como você montar uma aplicação (add-in) utilizando os conceitos de mercado utilizados na maioria das tecnologias front-end:

          

 

Até pouco tempo atrás, quando a Microsoft “mudou” a forma, ou talvez o conceito, de como o desenvolvimento para SharePoint deveria ser, saindo do ASP.NET (Server-side) e indo para o client (front-end) e mexeu com o status-quo dos profissionais que estavam acostumados a fazer as coisas sempre de uma maneira já havia causado uma revolução no mercado.

Muitos não sabiam, ou não imaginavam como fariam as coisas que estavam acostumados…

Olhando agora para trás, depois de alguns anos que os add-ins (na época Apps) foram apresentados para nós como conceito, vemos com um olhar diferente. Eu, pelo menos, evito ao máximo soluções Server-Side para SharePoint. Aliás, nem consigo lembrar direito a última vez que utilizei uma solução assim para fazer webparts.. Claro que existem situações e regras de negócio que vão forçar a usar uma solução que tenha código server-side mas, ainda assim, provider-hosted.

No começo, me pegava pensando… “Vou fazer sempre Farm Solutions e, se não houver outra maneira, utilizo os Add-ins”..  E hoje, acontece justamente o contrário…. Só utilizo Farm Solutions em último caso.. Só de pensar no deploy, no tempo de instabilidade da farm acabo desistindo!

Acredito que isso tenha acontecido com a maioria de vocês!

 

Voltando ao assunto do post, a Microsoft em uma tentativa de aproximar ainda mais os desenvolvedores de outras tecnologias, deu mais um passo interessante..

Convido vocês a olharem com carinho esses links: https://github.com/SharePoint/sp-dev-docs, https://github.com/SharePoint/sp-dev-docs/wiki/Setup-your-machine e https://github.com/SharePoint/sp-dev-docs/wiki/HelloWorld-WebPart.

Vocês serão apresentados a alguns conceitos novos, que falarei em outras oportunidades com mais detalhes: “Client WebParts” e “SharePoint Workbench”.

Por ora, deixo um vídeo mostrando essas novas e fantásticas ferramentas:

 

Abraços!

Request Digest no SharePoint

Olá SharePointers,

Hoje vou falar um pouco sobre o RequestDigest. Para quem está acostumado a trabalhar com códigos client-side, com certeza já teve que usá-lo para criar itens ou outros objetos no SharePoint.

Toda vez que desejamos alterar algo no SharePoint, precisamos passá-lo no cabeçalho do request para que a operação seja concluída com sucesso. Para evitar ataques, o SharePoint gera um token específico para o usuário atual, site atual e por um tempo específico. Esse token é conhecido como Request Digest ou Form Digest.

Sendo assim, quando for executar uma chamada basta pegar o valor do RequestDigest e colocar no cabeçalho X-RequestDigest, como demonstrado abaixo:

image

Porém, se o usuário abrir a página e deixar aberta, sair do computador por um tempo e depois tentar clicar em algum botão, pode ser que o tempo de duração do token já tenha expirado. 

Para resolver esse problema, existe uma função Javascript que gera um token novo para você: UpdateFormDigest.

Para facilitar o entendimento, criei uma função que chamei de getRequestDigest que sempre me retorna o valor do token e, caso esteja vencido, ele renova o token e me retorna o valor atualizado.

image

e utilizo, onde precisar, essa função.

image

 

Abraços!

SharePoint Workflows–Acessando dados de um outro site

Olá SharePointers,

Hoje vou falar de uma dica muito útil: como acessar dados de um outro site, utilizando workflows. Nesse exemplo, acessarei uma lista do site pai.

O Workflow manager veio para simplificar a forma como os workflows são feitos. De forma declarativa, ficou bem mais simples.

Internamente,  a engine de workflows converte todas as ações em chamadas REST. Resumindo, tudo o que podemos fazer utilizando workflows, podemos fazer utilizando as APIs REST disponíveis.

Introdução

O Workflow roda como um add-in. Dessa forma, ao criar um workflow, ele é autorizado a executar naquele site. Mas, você pode dar permissões para o Add-in e rodar algumas ações em contexto app-only.

Para rodar o exemplo abaixo, é necessário ativar uma feature (de Web) no site que o workflow será criado:

image

Após isso, vá em Configurações do Site e clique  em Permissões de Aplicativo de Site

image

Copie o Id do aplicativo

image

Abra o outro site que deseja consultar informações e abra a página http://[site]/_layouts/15/appinv.aspx

Cole o Id do aplicativo e clique em pesquisa.

image

Cole o xml abaixo no último campo e clique em criar.

Atenção: O xml abaixo está dando permissão Manage em uma lista que você selecionará na próxima tela. Altere o xml conforme a sua necessidade de negócio.

<AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Manage" /> </AppPermissionRequests>

Aparecerá uma tela para você confiar no Workflow e escolher a lista que deseja extrair informações.

image

 

Workflow

Crie o workflow e adicione um App Step.

image

Coloque uma ação Build Dictionary

Coloque duas entradas no Build Dictionary: Accept e Content-Type com o mesmo valor

image

e outra Call HTTP Web Service

image

Faça a sua chamada REST, clique nas propriedades da ação REST

image

e configure o RequestHeaders para ter o valor da variável que você criou no Build Dictionary

image

Pegue o valor da resposta e utilize-o conforme desejar.

image

 

Conclusão

Demonstrei como acessar dados, via REST, de outro site utilizando o workflow manager. Muitas vezes, por questões de organização e estruturação dos dados, precisamos acessar dados que não estão no site que estamos trabalhando e as APIs REST nos permitem isso de maneira bem simples. Entretanto, pode ser um pouco complicado fazer o passo-a-passo para fazer com que o mesmo processo funcione dentro do workflow.

 

Abraços Smile