ferramentas de desenvolvimento para outlook
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