ferramentas de desenvolvimento para outlook

12
SmartMail| Entidade Promotora: Parceiros: 1/2 Projeto em curso com o apoio de: 24/04/2014 Ferramentas de Desenvolvimento para Outlook Pesquisa e experimentação para apoio ao Desenvolvimento

Upload: ricardo-raminhos

Post on 09-Dec-2015

16 views

Category:

Documents


2 download

DESCRIPTION

O Microsoft Office é utilizado globalmente por diversos tipos de utilizadores com o propósito de criar documentos e organizar informação. Uma das principais vantagens do Microsoft Office é a possibilidade de criar e distribuir extensões, ou plugins, que expandem e aperfeiçoam as suas funcionalidades. Em particular para o Outlook, a componente de gestão de emails e calendário da Microsoft, existem alguns plugins que acrescentam novas funcionalidades ou que diminuem o tempo e esforço necessário para completar tarefas repetitivas. Com o intuito de determinar a melhor forma de desenvolver plugins de Outlook, neste documento vão ser analisadas algumas frameworks e bibliotecas que permitem a criação e desenvolvimento destes.

TRANSCRIPT

SmartMail| Entidade Promotora: Parceiros:

1/2 Projeto em curso com o apoio de:

24/04/2014

Ferramentas de Desenvolvimento para Outlook Pesquisa e experimentação para apoio ao Desenvolvimento

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

Índice Introdução .......................................................................................................................................................... 2

Office Developer Tools (VSTO) ........................................................................................................................... 2

Add-In Express Regions for Outlook and VSTO .................................................................................................. 2

Redemption ........................................................................................................................................................ 9

NetOffice .......................................................................................................................................................... 10

Alternativas ...................................................................................................................................................... 10

Conclusões ........................................................................................................................................................ 10

Referências ....................................................................................................................................................... 10

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

Introdução O Microsoft Office é utilizado globalmente por diversos tipos de utilizadores com o propósito de criar

documentos e organizar informação. Uma das principais vantagens do Microsoft Office é a possibilidade de

criar e distribuir extensões, ou plugins, que expandem e aperfeiçoam as suas funcionalidades. Em particular

para o Outlook, a componente de gestão de emails e calendário da Microsoft, existem alguns plugins que

acrescentam novas funcionalidades ou que diminuem o tempo e esforço necessário para completar tarefas

repetitivas. Com o intuito de determinar a melhor forma de desenvolver plugins de Outlook, neste

documento vão ser analisadas algumas frameworks e bibliotecas que permitem a criação e

desenvolvimento destes.

Office Developer Tools (VSTO) As Office Developer Tools (anteriormente mais bem conhecidas como VSTO ou Visual Studio Tools for

Office) (VSTO, s.d.) são ferramentas para criar plugins com o Visual Studio e .NET Framework para o Office

2007, 2010 e 2013. Estas contam com toda a riqueza e robustez proveniente do desenvolvimento e

atualizações feitas ao longo dos anos, resultando numa solução poderosa para a criação e distribuição de

plugins. (The Express way, and the road to Redemption…, s.d.) Existe imensa documentação, tanto da parte

da Microsoft como de utilizadores do toolset, facilitando a aprendizagem e resolução de problemas. O

elevado nível de sinergia entre o Visual Studio, as Office Developer Tools e o Office torna a distribuição e

instalação de plugins simple e rápida.

No entanto, a utilização do toolset não está isenta de problemas. Alguns developers ainda encontram

barreiras na distribuição e instalação quando são utilizadas versões mais antigas do toolset, um problema

que se torna continuamente menos grave mas que persiste em parte até hoje. Plugins criados com as

Office Developer Tools podem ser desenvolvidos somente para uma única versão específica do Office e não

podem ser reutilizados caso se pretenda alcançar versões diferentes. Adicionalmente, a versão do Visual

Studio utilizado para o desenvolvimento cria limites adicionais, não sendo possível criar plugins se a versão

do Office é superior ou à versão do Visual Studio.

Add-In Express Regions for Outlook and VSTO O Add-In Express Regions (Express Regions, s.d.) é uma extensão para as Office Developer Tools que oferece

formas de reduzir o esforço necessário para completar tarefas que deveriam ser triviais e fornece

ferramentas para acelerar o desenvolvimento especificamente para o Outlook. Existe suporte para criar

plugins compatíveis com múltiplas versões do Outlook simultaneamente (Version Neutral, s.d.) e

independentemente da versão do Visual Studio usada. (Features, s.d.) Nas figuras Figura 1, Figura 2 e Figura

3 é apresentada a mesma sidebar criada com o Add-In Express Regions instalada nas versões 2010, 2003 e

2007 do Outlook, respetivamente.

Além disso, o Add-In Express Regions também permite personalizar certos aspetos do Outlook que o VSTO

por si só não permite, tal como ter mais controlo sobre o comportamento e possibilidades de Panes pré-

existentes e de Custom Panes. (The Express way, and the road to Redemption…, s.d.) A Figura 4 mostra

como se torna possível mover os diferentes panes, independentemente de serem nativos ou parte de um

plugin. Nas figuras Figura 5 e Figura 6 vemos dois métodos de alternar entre diferentes forms de um único

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

pane e ainda a capacidade de minimizar o pane completamente. A possibilidade acrescida de poder

substituir layout por completo, como apresentado na Figura 7, dá mais valor ainda ao Add-In Express

Regions. Ainda com a possibilidade de poder exportar projetos do VSTO para o Add-In Express através de

um wizard, esta solução oferece muitas vantagens. A única desvantagem significativa está na licença

comercial, não existindo uma versão gratuita.

Figura 1 - Sidebar no Outlook 2010

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

Figura 2 - Sidebar no Outlook 2003

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

Figura 3 - Sidebar no Outlook 2007

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

Figura 4 - Drag&Drop Forms

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

Figura 5 - Form Select

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

Figura 6 - Minimize Forms

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

Figura 7 - Complete Replacement

Redemption Alguns updates de segurança do Outlook, apesar de protegerem os seus utilizadores de potenciais ameaças

transmitidas por email, dificultaram o trabalho para os developers de plugins. A Redemption (Outlook

Redemption Homepage, s.d.) é uma biblioteca que dá a possibilidade de criar RDO’s (Redemption Data

Objects) que ignoram os efeitos das barreiras elevadas por essas atualizações e se comportam como

objetos Outlook, devolvendo as capacidades perdidas com os aumentos de segurança. Assim torna-se

possível criar plugins para qualquer versão actual do Outlook sem as restrições provenientes das medidas

de segurança adicionadas ao Outlook, particularmente as restrições da atualização de 2001 (Microsoft

Security Patch 2001, s.d.) que provocou a criação da biblioteca Redemption.

Os RDO’s não são a única vantagem desta biblioteca, no entanto. Esta biblioteca pode ser usada por si só

para criar plugins ou aliada a outros toolsets ou frameworks para estender as suas capacidades. Pode ser

utilizada com qualquer linguagem de programação e as mudanças necessárias para adaptar código a esta

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

biblioteca são mínimas. Um dos seus outros pontos fortes está na capacidade de criar Windows Service

Applications que executam continuamente no plano de fundo para monitorização ou processamento de

mailboxes. (The Express way, and the road to Redemption…, s.d.) Existe uma versão gratuita mas é

necessário comprar uma licença para desenvolver aplicações comerciais.

NetOffice NetOffice (NetOffice Homepage, s.d.) foi uma iniciativa iniciada com o propósito de oferecer uma

alternativa ao VSTO que não fosse restringido pelas suas limitações e dependências. É possível migrar

projetos de Visual Studio para NetOffice e criar aplicações sem preocupações de quais serão versões

compatíveis. Não é requerido a um programador que aprenda uma abordagem completamente nova ou

que se registe ou obtenha licenças para utilizar o NetOffice.

No entanto, dado que é um produto open source desenvolvido por um grupo relativamente pequeno de

programadores, soluções para problemas e atualizações não são lançadas com a mesma frequência ou

robustez que se veria com as Office Developer Tools ou Add-In Express. Por essa mesma razão, a

documentação referente às funções específicas do framework poderá diminuta. Contudo, existe uma série

de tutorials disponível na página (Tutorials Overview, s.d.) que ajudam com a aprendizagem.

Alternativas Existem algumas alternativas para o desenvolvimento de plugins para Outlook mas não serão estudadas

com muito pormenor neste documento por não serem suficientemente relevantes relativamente às

soluções apresentadas. O VBA (Visual Basic for Applications) e os seus predecessores foram

maioritariamente absorvidos pelo VSTO, sendo opções obsoletas atualmente.

Conclusões O NetOffice é uma escolha viável em muitas situações mas que poderá não satisfazer todos os requisitos de

certos projetos. O Redemption, apesar de poder ser usado por si só, parece ter mais valor quando a

acompanhar outras soluções, libertando-as de restrições desnecessárias impostas pela segurança do

Outlook. A opção mais poderosa de momento aparenta ser a combinação das Office Developer Tools e Add-

In Express Regions, dando acesso a um vasto conjunto de ferramentas e opções.

Referências Davton Outlook Development. (s.d.). Obtido de Davton: http://davton.co.uk/bespoke/

Express Regions. (s.d.). Obtido de Add-In Express: http://www.add-in-express.com/outlook-

regions/index.php

Features. (s.d.). Obtido de Add-In Express: http://www.add-in-express.com/add-in-net/index.php

Microsoft Security Patch 2001. (s.d.). Obtido de Microsoft: http://support2.microsoft.com/kb/262631

NetOffice Homepage. (s.d.). Obtido de NetOffice: http://netoffice.codeplex.com/

Outlook Redemption Homepage. (s.d.). Obtido de Outlook Redemption:

http://www.dimastr.com/redemption/home.htm

SmartMail| Entidade Promotora: Parceiros:

2/2 Projeto em curso com o apoio de:

The Express way, and the road to Redemption…. (s.d.). Obtido de Slipstick:

http://www.slipstick.com/developer/the-express-way-and-the-road-to-redemption/

Tutorials Overview. (s.d.). Obtido de NetOffice:

http://netoffice.codeplex.com/wikipage?title=Tutorials_Overview

Version Neutral. (s.d.). Obtido de Add-In Express: http://www.add-in-express.com/add-in-net/wizards.php

VSTO. (s.d.). Obtido de Microsoft: http://msdn.microsoft.com/en-us/office/hh133430.aspx