Arquivo da tag: Office 365

Site Mailboxes – deprecated

Olá SharePointers,

Com o lançamento do SharePoint 2013, um dos recursos que foi anunciado foi o Site Mailbox. 

Esse recurso, Site Mailbox, permitia aos administradores do site configurarem um e-mail compartilhado que pode ser utilizado pelos usuários do site para ajudar na colaboração, compartilhamento de informações úteis àquele público específico.

Se você não conhecia o recurso, pode saber mais aqui:

https://support.office.com/en-us/article/Use-a-site-mailbox-to-collaborate-and-coordinate-team-email-57e361eb-39ef-400e-92de-f6408dab6b2b

 

Com a criação dos grupos do Office 365 (https://support.office.com/en-us/article/Learn-about-Office-365-Groups-b565caa1-5c40-40ef-9915-60fdb2d97fa2) e com a baixa adesão de usuários ao Site Mailbox, a Microsoft decidiu descontinuá-la.

Em Março de 2017 a Microsoft anunciou que descontinuaria esse recurso e em Agosto de 2017 ele foi descontinuado efetivamente. Atualmente, você não conseguirá mais ativar esse recurso e logo mais o suporte total a ele será descontinuado. Se você o utiliza, fique atento!

 

Referência:

https://techcommunity.microsoft.com/t5/SharePoint-Blog/Deprecation-of-Site-Mailboxes/ba-p/93028 

 

Grande abraço!

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 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.

 

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 WebHooks

Olá SharePointers,

Como eu postei recentemente aqui, a Microsoft tem apresentado uma série de novidades interessantes em toda a sua gama de produtos e não tem deixado faltar o nosso amado SharePoint.

Uma das features que devem ser anunciadas em breve para o SharePoint é o “SharePoint Webhooks“.

 

O que são os Webhooks?

Webhook é um conceito atual que está ganhando cada vez mais popularidade. Com ele é possível receber notificações em tempo real, sem ter que ir consultar no sistema fonte. É conhecido como Web Callback or HTTP Push API.

Muitos lugares já utilizam/disponibilizam esse tipo de APIs, como:

Github – envia notificações quando alguma ação acontece em um repositório. 

Foursquare – envia notificações quando um usuário faz um checkin em algum lugar.

 

SharePoint Webhooks

No SharePoint, a previsão é que este recurso esteja disponível, em modo General Preview, nesse trimestre e de forma final no final do ano.

 

Alguns podem perguntar: e os Remote Event Receivers? Quando escolher um ou outro?

Os Webhooks não suportarão os eventos do tipo “ING”, ou seja, você não será notificado enquanto uma ação está acontecendo, e consequentemente, não poderá interferir nelas. As notificações serão somente depois que a ação ocorrer.

Eles são mais seguros, nenhuma informação sobre o evento é passada durante a chamada.

Os Webhooks são mais “industry standard”, ou seja, os desenvolvedores de outras tecnologias já estão acostumados com esse padrão e será mais fácil a adoção.

Não será necessário utilizar serviços baseados em WCF, Serviços HTTP comuns já são suficientes.

 

Para mais informações, veja o video abaixo:

 

Referências:

https://dev.office.com/blogs/introducing-sharepoint-webhooks

https://blogs.technet.microsoft.com/stefan_gossner/2016/05/04/sharepoint-developer-announcement-the-sharepoint-framework-an-open-and-connected-platform/

https://github.com/SharePoint/sp-dev-samples

 

 

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!

Registrando um Add-in e concedendo permissões utilizando PowerShell

Olá SharePointers,

Muitas vezes é necessário criarmos Add-ins no SharePoint. Entretanto, nem sempre é possível utilizar o modelo SharePoint-hosted.

Para facilitar o processo, podemos utilizar um script powershell para criar um Client ID e fazer o deploy do .app.

$targetWeb = “https://site.sharepoint.com”
$appDisplayName = “App”
$clientID = [Guid]::NewGuid().ToString()

$authRealm = Get-SPAuthenticationRealm -ServiceContext $targetWeb
$AppIdentifier = $clientID + “@” + $authRealm

Write-Host “Creating the new app principal registration…”
Register-SPAppPrincipal -NameIdentifier $AppIdentifier -Site $targetWeb -DisplayName $appDisplayName
$appPrincipal = Get-SPAppPrincipal -Site $targetWeb -NameIdentifier $AppIdentifier

write-host “Display Name:” $appPrincipal.DisplayName
write-host “Name Identifier:” $appPrincipal.NameIdentifier
write-host “ClientID:” $clientID

Write-Host “Uploading the app…”
$spapp = Import-SPAppPackage -Path D:\MyApp.app -Site $targetWeb –Source ObjectModel
$instance = Install-SPApp -Web $targetWeb -Identity $spapp
Write-Host “Granting permissions…”
$web = Get-SPWeb $targetWeb

Set-SPAppPrincipalPermission -Site $web -AppPrincipal $appPrincipal -Scope SiteCollection -Right FullControl

$web.Dispose()

Esse script substitui aquelas operações que temos que fazer nas páginas [SiteUrl]/_layouts/AppRegNew.aspx e [SiteUrl]/_layouts/AppInv.aspx.

 

Esse script funciona tanto para SharePoint On-Premises quanto para SharePoint Online.

 

Referências

http://www.manasbhardwaj.net/powershell-alternative-sharepoint-2013-appregnew-aspx/

Como pegar os anexos de um item de lista através do Search do SharePoint

Olá SharePointers,

Eu estava com a necessidade de mostrar se um item (que era retornado pelo search) tinha anexo ou não. Não encontrei uma propriedade managed ou crawled que pudesse retornar o que eu esperava e estava quase perdendo as esperenças disso funcionar.

Depois de algumas pesquisas, encontrei uma referência a uma propriedade LinkOfficeChild que supostamente deveria trazer o resultado que eu esperava.

Para confirmar, busquei essa propriedade na lista de Managed Properties existente e nenhum resultado apareceu.

image

Abri o Search Query Tool para testar se mesmo assim essa propriedade não era retornada e, para minha surpresa, ela É!

image

 

Referência

http://www.techmikael.com/2014/04/solution-to-displaying-attachments-for.html

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

Aumentando a produtividade com SharePoint Add-ins – Parte 2 (A beleza do Upgrade)

Olá SharePointers,

Fiz um novo post falando de como aumentar a produtividade do desenvolvimento utilizando Add-Ins e publiquei o documento no DOCS.com da Microsoft.

O link para o documento é: https://doc.co/GGzdmo

O projeto está publicado no GitHub.. O link do repositório é: https://github.com/RARomano/SharePointHostedUpdateApp

 

Abraços!