Arquivo da categoria: Sem categoria

Enviar e-mail usando Javascript

Olá SharePointers,

Vocês sabiam que é possível enviar e-mails usando Javascript no SharePoint?

Essa dica funciona tanto no SharePoint On-Prem quanto no SharePoint Online.

Por questões de segurança, o usuário tem que ser do mesmo domínio do SharePoint.

Disponibilizei o código no Github: https://github.com/RARomano/SPRestAPIs/blob/master/SendEmail.js

 

Referência

http://geekswithblogs.net/ThorvaldBoe/archive/2014/07/03/sending-email-with-sharepoint-and-jquery.aspx

 

Abraços!

SharePoint 2013 Apps – Uma nova visão! Criando timer jobs utilizando apps

Olá SharePointers,

Desde que o SharePoint 2013 foi lançado e trouxe o seu novo conceito de APPs (impulsionado pelo Office 365) muito foi falado sobre o assunto.

Desde então fornecedores, profissionais e clientes têm travado uma “guerra” pensando se devem ou não utilizar esse modelo de desenvolvimento quando o assunto é ambiente OnPremises.

É comum, pelo menos aqui no Brasil, ainda mantermos o foco do desenvolvimento utilizando Farm Solutions. Mas, e quando o cliente não quer? Que opção nos resta?

A primeira opção que nos vem a cabeça é No-Code Sandbox Solutions. Faço tudo com Javascript e faço o deploy pelo Browser, não preciso de um administrador para essa tarefa e tudo resolvido.

Esse modelo é muito legal e interessante, ainda mais pelo fato de que a Microsoft está fazendo um esforço muito grande em liberar toda a API que temos disponível via Server Object Model para a versão client. Mas, ainda temos limitações. Por exemplo, fazer um impersonate, ou seja, fazer uma ação com um usuário que não seja o seu… Ou ainda, não criar um usuário apenas para “integração”, que você precisa fornecer tanto o login quanto a senha para acessar o ambiente… Como fazer?

Nesse caso, podemos utilizar Apps de um jeito que não tinhamos pensado antes.. Não apenas como SharePoint-Hosted Apps e Provider-Hosted Apps. Vou explicar:

Pense em um cenário que você precisa criar um “TimerJob”, mas não tem acesso ao ambiente. Como fazer?

Vou mostrar passo-a-passo como fazer isso de forma simples utilizando apps:

1- Criar um Console Application (Console Application? É isso mesmo?  Acreditem, isso mesmo!! 😀 )

1

2 – Clicar com o botão direito na Solution e ir em Manage Nuget Packages.

2

 

3 – Procure por SharePoint app e clique para instalar o pacote App for SharePoint Web Toolkit

3

 

4 – Abrir a URL “_layouts/AppRegNew.aspx” no seu SharePoint

4

Clicar no botão gerar do ID do Cliente e do Segredo do Cliente. Digitar o Título da App preencher um domínio para a APP (pode ser localhost) e uma URL de redirecionamento (pode ser a URL do seu SharePoint). Não iremos utilizar o domínio e a URL, mas são obrigatórios 😀

Quando clicar em Criar, o SharePoint mostrará na próxima tela os dados gerados.

IMPORTANTE: Anote o ID e o SEGREDO do Cliente gerados. Você precisará desses valores posteriormente.

5 – Adicionem os valores abaixo no arquivo app.config

 5

Lembrem de substituir o valor do ClientID e do ClientSecret com o que foi gerado na etapa anterior.

6 – Dar permissões ao App

Para dar permissões ao App, abra a URL “_layouts/AppInv.aspx”

6

Digite o ClientID (gerado na etapa anterior) e clique em pesquisar. Os campos serão preenchidos automaticamente.

No campo XML de Solicitação de Permissão do Aplicativo cole o XML abaixo:

<AppPermissionRequests AllowAppOnlyPolicy=”true”>

    <AppPermissionRequest Scope=”http://sharepoint/content/tenant” Right=”Manage” />

</AppPermissionRequests>

Com esse XML, você dará permissão em todo o Tenant para o App. Você pode alterar se precisar, mas para o nosso cenário, essa permissão está ok.

7 – Codificar

7

Agora é só codificarmos a nossa necessidade.

string siteUrl = “http://localhost”;

Uri uri = new Uri(siteUrl);

string realm = TokenHelper.GetRealmFromTargetUrl(uri);

// Pegar o access token

string accessToken = TokenHelper.GetAppOnlyAccessToken(

    TokenHelper.SharePointPrincipal,

    uri.Authority, realm).AccessToken;

// conectar no site com o contexto do APP

using (var ctx = TokenHelper.GetClientContextWithAccessToken(uri.ToString(), accessToken))

{

    /// codigo vai aqui

}

Agora é só agendar esse executável no agendador de tarefas do Windows e pronto. Para esse caso, criar um serviço do Windows é mais interessante, mas por funções educativas, utilizei o Console Application.

Fiz o upload da solution de testes, para quem quiser baixá-la e utilizar para testes em seu próprio ambiente: http://1drv.ms/1Hh8WIl

O que acharam?

Windows 10 – Technical Preview

Olá SharePointers,

Para quem não está muito antenado com as novidades, hoje (01/10) foi liberado para o público em geral os testes do Windows 10 – Technical Preview. Para quem quiser fazer o download, está disponível aqui: http://windows.microsoft.com/pt-br/windows/preview-download

ATENÇÃO: Para quem quiser instalar, lembre-se de fazer um backup e pontos de restauração para voltar a máquina ao estado original.

Como um “Early Adopter”, instalei em minha máquina…. Confiram o resultado:

A tela de instalação é semelhante à do Windows 8.1

image

Achei bem interessante à interligação com o OneDrive. Tudo nativo, sem instalar nenhum utilitário.

image

 

Esse é o seu desktop, logo após a instalação:

image

Menu Iniciar

image

 

image

Janelas sem bordas, menu iniciar expandido:

image

Suporte à multiplos desktops

image

E o mais importante…… kkkk CTRL+C e CTRL+V dentro do command e do powershell 😀

 

O que acharam?