Novo no Outlook para desenvolvedores

Este documento fornece um modo de exibição de nível superior das adições e melhorias para desenvolvedores no Microsoft Outlook 2013, incluindo aplicativos de email, os serviços de dados de previsão do tempo para a barra de clima e resposta embutida de terceiros. O documento também descreve alterações para o Outlook Social Connector, o Office Mobile Service, o suporte para Outlook 2013 coexistindo com uma versão anterior do Outlook e novos critérios de desempenho de suplementos. Para os desenvolvedores que estiver prontos para começar a na plataforma do Outlook, este documento fornece informações suficientes para começar a codificação contra Outlook 2013.

Introdução

Outlook 2013 oferecem suporte à programação para um número de novos recursos. Suplementos do Office é uma nova plataforma que permite aos desenvolvedores usar ferramentas baseadas na web, como HTML e JavaScript para criar aplicativos que apresentam dentro da janela do painel de leitura do Outlook ou Inspetor. Diferentemente tradicional suplementos COM, os aplicativos não exigem que você instala ou atualizar uma DLL no computador do usuário. Quando um aplicativo de email é inicializado pelo usuário, o aplicativo de email usa o modelo de objeto JavaScript Suplementos do Office para fornecer informações de contexto sobre a mensagem selecionada no cliente avançado do Outlook e Outlook Web App. Seu aplicativo é executado em seu servidor web e quaisquer alterações feitas no seu conteúdo da web serão refletidas imediatamente no seu aplicativo seja executado em um cliente Outlook.

Além dos aplicativos, não há suporte de extensibilidade para a nova barra de clima e alterações como Outlook 2013 suporta a estensibilidade do provedor do Outlook Social Connector e serviços do Office Mobile. Outros recursos como a coexistência do Outlook e o monitoramento do desempenho do suplemento não estão relacionados diretamente para qualquer modelo de objeto, mas eles serão influenciam a maneira que você projetar e criar uma solução.

A seguir estão as alterações importantes para desenvolvedores no Outlook 2013:

  • Aplicativos de email

  • Serviço de meteorologia personalizado da barra de meteorologia

  • Aprimoramentos do modelo de resposta embutida e outro objeto do Outlook

  • Melhorias do Outlook Social Connector

  • Interrompendo o suporte ao serviço móvel do Office

  • Coexistência com versões anteriores do Outlook

  • Critérios de desempenho para manter os suplementos habilitados

Dica

Objetos, propriedades, métodos e eventos descritos neste artigo podem alterar na versão RTM do Outlook 2013. Recursos do modelo de objeto adicionais também deve ser introduzidos antes de versão de RTM do Outlook 2013. Certifique-se de obter a versão RTM do Outlook 2013 para testar as alterações de código antes de liberar a sua solução.

Aplicativos de email

Suplementos do Office são um novo recurso que permite que você incorpore serviços da web diretamente no Outlook, sem precisar escrever e implante um suplemento do Outlook tradicional. Em Outlook 2013, aplicativos de email fornecem experiências ricos e atraentes para os usuários do Outlook ou Outlook Web App usando um único código base. Um aplicativo de email exibe um painel de app adjacente ao painel de leitura do Outlook ou um objeto inspector para fornecer o conteúdo da web apropriado para a mensagem exibida ou um compromisso. Aplicativos são criados usando tecnologias web todos os lugares, como HTML e JavaScript. Aplicativos de email exigem Exchange 2013 e não estão disponíveis para os usuários com contas em versões do Exchange anterior para Exchange 2013 ou com contas POP3 ou IMAP.

As seções a seguir descrevem brevemente a arquitetura de aplicativos de email, as regras de ativação e modelo de segurança. Estas seções não servem como uma referência técnica abrangente. Consulte Suplementos do Office para obter detalhes sobre o esquema de manifesto, condições de regra, entidades internas e personalizadas expressões regulares, o modelo de objeto JavaScript e envio de um aplicativo de email para o Office Store.

Arquitetura

A arquitetura da plataforma de aplicativos de email é incríveis sua simplicidade. Um cliente do Exchange, como o cliente avançado do Outlook ou Outlook Web App baixa manifestos de aplicativos de email do Exchange server. O manifesto XML especifica um conjunto de regras que são executados no cliente e determinar se o aplicativo é ativado quando o usuário seleciona um compromisso ou uma mensagem de email. Se as regras de ativação forem satisfeitas, o botão app aparecerá na barra de aplicativos. Por exemplo, na Figura 1 você vê que Bing Maps tanto o email de Item de ação apps ativou com base no conteúdo da mensagem de email selecionado e aparece na barra de aplicativos.

Figura 1. Email app mostrando sensível ao contexto Bing map no Outlook

Bing Map mail app in Outlook

Um aplicativo de email é dito ser ativados quando seu botão de app aparece na barra de aplicativos. Depois que o usuário seleciona o botão do aplicativo, o painel do aplicativo aparece e executa um manipulador de eventos inicializar no código JavaScript da sua página da web hospedado em seu servidor web. Figura 2 descreve o processo que acontece quando um cliente Outlook é iniciado e o usuário seleciona um item no Outlook.

Figura 2. Processo de inicialização e a arquitetura do aplicativo de email

Flow of events when starting Outlook mail app

O código JavaScript de um aplicativo de email pode acessar as propriedades do item de compromisso ou mensagem selecionada. Dependendo da permissão solicitada pelo aplicativo, o aplicativo também pode acessar propriedades personalizadas, enumerar entidades (por exemplo, endereços ou sugestões de reunião) ou correspondências de expressão regular e fazer chamadas de serviço Web do Exchange (EWS).

Regras de ativação

Controle de regras de ativação quando um aplicativo de email é ativado na interface do usuário de um cliente Outlook. Regras são definidas no XML de manifesto e são aplicadas pelo mecanismo de regras de avaliação para o item selecionado no painel de leitura ou em uma janela inspector. Se as regras de avaliar como true, o botão de app estará visível na barra de aplicativos. Observe o seguinte sobre regras:

  • Várias regras podem ser combinadas para as necessidades de ativação complexos.

    Aplica os operadores lógicos And ou Or .

    Regras podem ser definidas com o uso de expressões regulares.

    Regras podem acessar as entidades conhecidas como números de telefone, URLs e endereços de ruas.

Tipos de regra são os seguintes.

Tipo de regra

Exemplos

ItemIs

Uma regra para verificar se o item é um tipo específico (compromisso, mensagem ou classe de mensagem personalizada). Por exemplo:

<Rule xsi:type="ItemIs" ItemType="Message" />

ItemHasKnownEntity

Uma regra para verificar se o item tem uma entidade específica. Por exemplo:

<Rule xsi:type="ItemHasKnownEntity" EntityType="Address" />

ItemHasRegularExpressionMatch

Para verificar se há uma regra corresponde à expressão regular especificada.

RuleCollection

Define uma regra composta de várias regras (combinadas usando And ou Or).

Observe que as regras podem reconhecer entidades conhecidas ou expressões regulares personalizadas que você define no manifesto do aplicativo.

Cite conhecidos entidades. Entidades conhecidas são analisadas por servidor Exchange durante o transporte de mensagem e marcadas na mensagem para uso pelo mecanismo de regras de avaliação. A tabela a seguir lista algumas entidades conhecidas que você pode usar para criar regras de ativação.

Tipo de entidade conhecido

Condição de ativação

Address

Endereços de rua Estados Unidos. Por exemplo:

1 Microsoft maneira, Redmond, WA 07722

Contact

Um nome de pessoal relacionado a outras entidades. Por exemplo:

Steve Ballmer, Microsoft, 1 Microsoft Way, Redmond, WA 98052

EmailAddress

Qualquer endereço de email SMTP. Por exemplo:

someone@contoso.com

MeetingSuggestion

Uma referência a um evento ou uma reunião. Por exemplo:

Vamos reunir próxima terça-feira para o almoço.

PhoneNumber

Números de telefone dos Estados Unidos. Por exemplo:

(425) 555-1212

TaskSuggestion

Sentenças acionáveis em um email. Por exemplo:

Instale o Office 2013 em Meu computador.

Url

Um endereço de web ou o nome de arquivo. Por exemplo:

https://microsoft.com

Modelo de segurança

Sua caixa de correio contém informações particulares. Em uma configuração corporativa, sua caixa de correio contém as comunicações de privilégios com seus clientes, fornecedores e seus colegas de. Outlook protege essas informações e garante que aplicativos de email manter essas informações seguras. Quando um usuário adquire um aplicativo de email, o usuário deve conceder o nível de permissão solicitado pelo aplicativo em seu manifesto. Se o usuário não conceder permissão, o aplicativo não está instalado em caixa de correio do Exchange do usuário. Aplicativos de email usam um modelo de segurança de três camadas. O que um aplicativo pode fazer depende a concessão de segurança pelo usuário final ou administrador, com base na permissão solicitada no manifesto do aplicativo. Observe que os aplicativos que exigem a permissão de leitura/gravação da caixa de correio não podem ser instalados por um usuário final. Aplicativos que solicitar a permissão de leitura/gravação de caixa de correio devem ser instalados pelo administrador do sistema.

Figura 3. Modelo de três camadas de segurança para aplicativos de email

3-tier permission model for user, developer, admin

Figura 3 e a tabela a seguir descrevem os 3 níveis de permissão. Observe que a permissão padrão, restritas, restringe a um aplicativo de acessar informações de identificação pessoal (PII) da mensagem atualmente selecionada. Se o usuário concede um elevado nível de permissão como ler item, o aplicativo pode obter informações, como o remetente ou destinatários da mensagem. Permissão de leitura/gravação de caixa de correio permite que o aplicativo chamar um subconjunto de funções EWS poderosas, incluindo a capacidade de criar ou modificar os itens na caixa de correio do usuário.

Ator

Permissão no manifesto

Access

Aplicativos de email de usuários finais instalando confiança baixa

Restricted

O subconjunto de entidades conhecidas da mensagem: Address, PhoneNumber, Url

Aplicativos de email de usuários finais instalando confiança baixa

ReadItem

Todas as entidades conhecidas da mensagem: Address, Contact, EmailAddress, MeetingSuggestion, PhoneNumber, TaskSuggestion, Url

Expressão regular personalizada faz a correspondência do corpo da mensagem.

JSOM:

Administradores do Exchange instalando aplicativos de email de alta confiança

ReadWriteMailbox

acesso de ReadItem e o seguinte:

EWS: subconjunto de APIs de EWS

Serviço de dados de clima personalizado da barra de meteorologia

A nova barra de clima em Outlook 2013 usa MSN clima para fornecer previsões do tempo para locais selecionados pelo usuário. Serviços de dados de clima de terceiros podem conectar ao Outlook para fornecer previsões de clima semelhantes. Figura 4 mostra a barra de clima exibindo uma previsão do tempo para Nova York.

Figura 4. A barra de clima exibindo uma previsão do tempo para Nova York

Weather Bar showing forecast for New York.

Para conectar na barra de clima do Outlook, um serviço de dados de clima pode implementar um serviço web que suporta um protocolo simples de-parte 2:

  1. O serviço de dados de clima suporta uma URL de base para um serviço web, por exemplo, http://service.contoso.com/data.aspx.

  2. Parte 1: O serviço web permite que o Outlook acrescentar os seguintes parâmetros para a URL base solicitar um local de código que corresponde ao local selecionada pelo usuário:

    • outputview = pesquisa, que indica que a solicitação é uma pesquisa local.

    • weasearchstr =city, onde city indica a localização selecionada pelo usuário para obter informações de clima.

    • Culture =LCID, onde LCID indica a cultura da versão do Office instalado para o usuário. O valor é definido no [RFC4646] marcas para identificar idiomas

    • src = o outlook, que indica que o Outlook é o aplicativo cliente que está solicitando o serviço.

    A resposta do serviço da web deve estar de acordo com o Outlook Weather Location XML Schema.

    Figura 5 resume parte 1 do protocolo para solicitar e responder com um código de localização para o local do usuário selecionado.

    Figura 5. Solicitação de serviço da Web e a resposta para um código de local

    Weather location request and response

  3. Parte 2: O serviço da web também suporta o Outlook para acrescentar os seguintes parâmetros, para solicitar informações de previsão para o código de local obtido da parte 1:

    • wealocations =code, onde code é o local obtido da parte 1.

    • weadegreetype =degreetype, onde degreetype pode ser c para métrica ou f para unidades imperiais para temperatura.

    • Culture =LCID, onde LCID indica a cultura da versão do Office, semelhante a esse em parte 1.

    • src = o outlook, que indica que o Outlook é o aplicativo cliente que está solicitando o serviço similar à parte 1.

    A resposta do serviço da web deve estar de acordo com o Outlook Weather Information XML Schema.

    Figura 6 resume parte 2 do protocolo para solicitar e responder para dados de clima para o local do usuário selecionado.

    Figura 6. Solicitação de serviço da Web e resposta para obter informações de clima

    Weather information request and response

Para obter mais informações, consulte Estendendo a barra de clima no Outlook.

Alterações do modelo de objeto do Outlook

Novos objetos, propriedades, métodos, eventos e os valores de enumeração foram adicionados ao modelo de objeto do Outlook para oferecer suporte à programação para novos recursos de Outlook 2013. Além disso, aprimoramentos do modelo de objeto endereços solicitações de desenvolvedor frequente para que as alterações para a plataforma do Outlook.

Aprimoramentos aos objetos existentes do Outlook

A tabela a seguir lista os aprimoramentos para objetos, coleções e enumerações que estavam disponíveis nas versões anteriores do Outlook. Somente novos métodos, propriedades, eventos e os valores de enumeração estão listados na coluna novos membros .

Tabela 1. Aprimoramentos no modelo de objeto do Outlook

Objeto ou enumeração

Novos membros

AppointmentItem

Evento ReadComplete

ContactItem

Método ShowCheckAddressDialog

Método ShowCheckFullNameDialog

Evento ReadComplete

DistListItem

Evento ReadComplete

DocumentItem

Evento ReadComplete

Explorer

Propriedade ActiveInlineResponse

Propriedade ActiveInlineResponseWordEditor

Evento InlineResponse

Evento InlineResponseClose

JournalItem

Evento ReadComplete

MailItem

Evento ReadComplete

MeetingItem

Evento ReadComplete

OlAccountType

valor de enumeração olEas

OlBusyStatus

valor de enumeração olWorkingElsewhere

OlObjectClass

valor de enumeração olClassPeopleView

OlSearchScope

valor de enumeração olSearchScopeCurrentStore

OlViewType

valor de enumeração olPeopleView

PostItem

Evento ReadComplete

RemoteItem

Evento ReadComplete

ReportItem

Evento ReadComplete

SharingItem

Evento ReadComplete

TaskItem

Evento ReadComplete

TaskRequestAcceptItem

Evento ReadComplete

TaskRequestDeclineItem

Evento ReadComplete

TaskRequestItem

Evento ReadComplete

TaskRequestUpdateItem

Evento ReadComplete

Novos objetos

A tabela a seguir lista os novos objetos introduzidos no Outlook 2013. Todos os membros do objeto são listados na coluna Propriedades e métodos .

Tabela 2. Adições de modelo de objeto do Outlook

Objeto

Propriedades

Métodos

PeopleView

Aplicativo

Aplicar

classe

Copiar

Filtro

Excluir

Idioma

GoToDate

LockUserChanges

Redefinir

Nome

Salvar

Pai

SaveOption

Sessão

SortFields

Standard

ViewType

XML

Objetos e membros substituídos

Estes são as principais reprovações no modelo de objeto do Outlook nesta versão:

  • Suporte para a barra de tarefas pendentes

    Porque a barra de tarefas pendentes não é mais suportada na interface do usuário Outlook 2013, tentar usar Explorer.ShowPane(olToDoBar) para exibir ou ocultar a barra de tarefas pendentes retornará um erro. Você deve modificar qualquer código existente para manipular o erro-los ou evitá ShowPane com a constante olToDoBar de chamada do código que é executado em Outlook 2013.

  • Suporte para vinculação de contato

    O contato vinculação de recurso e seu suporte ao modelo de objeto (por meio de objetos Link e Links ) foi preterido. A propriedade Links para cada objeto de item agora retorna Null (Nothing no Visual Basic), e você deve modificar qualquer código existente para lidar com esse comportamento.

  • O objeto MobileItem . Consulte a seção Interrompendo o suporte ao serviço móvel do Office para obter mais informações.

A tabela a seguir lista os objetos, membros e valores de enumeração preteridos no Outlook 2013. Somente membros do objeto preteridos e valores de enumeração são listados na coluna preterido membros . Observe que enquanto membros preteridos estiverem ocultos no Pesquisador de objetos do Visual Basic, enumerações preteridas ou valores de enumeração não estão ocultos, mas, mesmo assim, não há mais devem ser usados em seu código.

Objeto, coleção ou enumeração

Valor de membro ou enumeração preterido

AppointmentItem

propriedade Links

CalendarView

propriedade DayWeekFont

propriedade DayWeekTimeFont

propriedade MonthFont

ContactItem

propriedade Links

DistListItem

propriedade Links

DocumentItem

propriedade Links

Exceção

propriedade ItemProperties

JournalItem

propriedade Links

Link

propriedade ApplicationClass

propriedade Item

propriedade Name

propriedade Parent

propriedade Session

propriedade Type

Links

propriedade ApplicationClass

propriedade Count

propriedade Parent

propriedade Session

método AddItem

método Remove

MailItem

propriedade Links

MeetingItem

propriedade Links

MobileItem

Propriedades

propriedade Actions

propriedade Application

propriedade Attachments

propriedade BillingInformation

propriedade Body

Propriedade CategoriesCategories

propriedade Class

propriedade Companies

propriedade ConversationIndex

propriedade ConversationTopic

propriedade CreationTime

propriedade Count

propriedade EntryID

propriedade FormDescription

propriedade GetInspector

propriedade HTMLBody

propriedade Importance

propriedade ItemProperties

propriedade LastModificationTime

propriedade MessageClass

propriedade Mileage

propriedade MobileFormat

propriedade NoAging

propriedade OutlookInternalVersion

propriedade OutlookVersion

propriedade Parent

propriedade PropertyAccessor

propriedade ReceivedByEntryID

propriedade ReceivedByName

propriedade ReceivedTime

propriedade Recipients

propriedade ReplyRecipientNames

propriedade ReplyRecipients

propriedade Saved

propriedade SenderEmailAddress

propriedade SenderEmailType

propriedade SenderName

propriedade SendUsingAccount

propriedade Sensitivity

propriedade Sent

propriedade SentOn

propriedade Session

propriedade Size

propriedade SMILBody

propriedade Subject

propriedade Submitted

propriedade To

propriedade UnRead

propriedade UserProperties

Métodos

método Close

método Copy

método Delete

método Display

método Forward

método Move

método Reply

método ReplyAll

método Save

Método SaveAs

método Send

Eventos

evento AttachmentAdd

evento AttachmentReadAttachmentRemove

evento BeforeAttachmentAdd

evento BeforeAttachmentPreview

evento BeforeAttachmentRead

evento BeforeAttachmentSave

evento BeforeAttachmentWriteToTempFile

evento BeforeAutoSave

evento BeforeCheckNames

evento BeforeDelete

evento Close

evento CustomAction

evento do evento CustomPropertyChange

evento Forward

evento Open

evento PropertyChange

evento Read

evento ReadComplete

evento Reply

evento ReplyAll

evento Send

evento UnloadWrite

NoteItem

propriedade Links

OlObjectClass

valor de enumeração olLink

valor de enumeração olLinks

valor de enumeração olMobile

OlPane

valor de enumeração olToDoBar

PostItem

propriedade Links

RemoteItem

propriedade Links

ReportItem

propriedade Links

TaskItem

propriedade Links

TaskRequestAcceptItem

propriedade Links

TaskRequestDeclineItem

propriedade Links

TaskRequestItem

propriedade Links

TaskRequestUpdateItem

propriedade Links

Trabalhando com uma resposta embutida

Outlook 2013 introduz o recurso de resposta inline onde o usuário pode redigir uma resposta no painel de leitura, em vez de abrir uma nova janela inspector. Se sua solução requer a adição de controles de interface de usuário Office Fluent personalizados à faixa de opções de nota de redação, ou você precisa aplicar a lógica de negócios ou uma funcionalidade personalizada a uma mensagem de resposta antes que a resposta é enviada, modifique a sua solução para usar o novo evento InlineResponse no objeto Explorer .

Dica

Você pode usar a resposta embutida somente se você tiver selecionado no menu Exibir para exibir o painel de leitura no explorer.

O evento InlineResponse é o equivalente ao evento NewInspector no objeto de coleção Inspectors de embutido. O evento NewInspector é acionado quando uma nova janela inspector é aberta. O evento InlineResponse é acionado quando o usuário executa uma ação que faz com que uma resposta embutida aparecer no painel de leitura, conforme mostrado na Figura 7 abaixo.

Figura 7. Uma resposta embutida é criada quando o usuário seleciona uma ação de resposta

An inline response is created

Suporte ao modelo de objeto resposta embutida

Os membros a seguir foram adicionados ao objeto Explorer para fornecer suporte programático para o recurso de resposta embutida:

Membro

Descrição

Propriedade ActiveInlineResponse

Retorna um objeto de item que representa o item de resposta ativo embutidas no painel de leitura. Somente leitura.

Propriedade ActiveInlineResponseWordEditor

Retorna o objeto de documento do Word da resposta embutida ativa que é exibido no painel de leitura. Somente leitura.

Evento InlineResponse

Ocorre quando o usuário executa uma ação que faz com que uma resposta embutida seja exibido no painel de leitura.

Usando o evento InlineResponse

Vamos imaginar um cenário onde seu código precisa inserir um aviso de isenção de cada mensagem de redação, incluindo a resposta, responder a todos e encaminhar mensagens. Como resposta embutida é o modo de resposta padrão no Outlook 2013, seu código deve ligar um manipulador de eventos para o evento InlineResponse no objeto Explorer . O código c# a seguir conecta um manipulador de eventos para o evento InlineResponse na classe OutlookExplorer . Nesse exemplo de código, OutlookExplorer é uma classe de wrapper para uma coleção de objetos Explorer .

public OutlookExplorer(Outlook.Explorer explorer)
{
    m_Window = explorer;

    // Hook up InlineResponse event
    m_Window.InlineResponse += 
        new Outlook.ExplorerEvents_10_InlineResponseEventHandler
        (m_Window_InlineResponse);

    // Hook up other events if applicable.
}

Uma vez o InlineResponse evento é acionado, o código de exemplo cria uma instância de MailItem de m_Mail e ouve o evento PropertyChange para aquele objeto MailItem . m_Mail é uma variável de instância sensível ao evento que você pode usar para implementar qualquer lógica de negócios exigida pelo seu suplemento.

O código de exemplo compara a propriedade MailItem.Size como 0 para determinar se a resposta embutida é nova ou um rascunho existente. A propriedade ActiveInlineResponseWordEditor retorna um objeto Word.Document , doc, que representa a resposta embutida ativo para o active Explorer. Usando o modelo de objeto do Word, o código adiciona um aviso de isenção ao início deste objeto doc .

// InlineResponse fires when the user creates an inline response item
void m_Window_InlineResponse(object Item)
{
    if (Item is Outlook.MailItem)
    {
        m_Mail = Item as Outlook.MailItem;
        // Hook up event-aware instance variable.
        // Use the variable to implement any business logic 
        // required by your add-in.
        m_Mail.PropertyChange += 
            new Outlook.ItemEvents_10_PropertyChangeEventHandler(
                m_Mail_PropertyChange);
        // Implement any business logic.

        // Use mail.Size to determine if item is new 
        // or is a draft inline response.
        // Size == 0 indicates a new inline response.
        if (m_Mail.Size == 0)
        {
            {
                Word.Document doc = 
                    m_Window.ActiveInlineResponseWordEditor as Word.Document;
                Word.Application wdApp = doc.Application as Word.Application;
                Word.Range rng = wdApp.ActiveDocument.Range(Start: 1);
                rng.InsertBefore("My Disclaimer...");
            }
        }
        else
        {
            // Do nothing.
        }
    }
}

Observe que a propriedade ActiveInlineResponse retorna um objeto MailItem representando o item de resposta embutida ativo. Você pode usar as mesmas propriedades e métodos do objeto MailItem neste item, exceto para o seguinte:

Por outro lado, se nenhuma resposta embutida estiver ativa, as propriedades ActiveInlineResponseWordEditor e ActiveInlineResponse retornam null.

Adicionando controles personalizados à guia contextual ferramentas de redação

Outro cenário possível é que você deseja estender a interface do usuário do Outlook para uma resposta embutida. Para estender a interface de usuário do Outlook, você precisa usar a extensibilidade do Office Fluent UI que não é abordada em detalhes neste artigo. Consulte os links fornecidos no final deste artigo para obter informações adicionais sobre como estender a interface de usuário do Outlook. Quando uma resposta embutida é exibida no Outlook 2013, o usuário vê a guia contextual de Ferramentas de redação exibida na faixa de opções Fluent do Office. Para adicionar seu controle à guia contextual Ferramentas de redação, adicione os controles personalizados ao < contextualTabs >< / contextualTabs > seção da faixa de opções XML que será passada para o método GetCustomUI da interface IRibbonExtensibility para RibbonID igual a "Microsoft.Outlook.Explorer". Você deve identificar o elemento tabSet com o valor apropriado para o atributo idMso , que nesse caso é "TabComposeTools". A XML da faixa de opções seguinte cria o controle de MyButton mostrado na Figura 7.

    <contextualTabs>
      <tabSet idMso="TabComposeTools">
        <tab idMso="TabMessage">
          <group label="MyGroup" id="MyComposeToolsGroup">
            <button id="MyButtonInlineResponse"
                    size="large"
                    label="MyButton"
                    imageMso="MagicEightBall"
                    onAction="OnInlineResponseButtonClick" />
          </group>
        </tab>
      </tabSet>
    </contextualTabs>

Quando o usuário seleciona o controle MyButton , o manipulador de OnInlineResponseButtonClick é chamado. O exemplo de código a seguir usa a propriedade ActiveInlineResponseWordEditor para obter uma instância de um objeto Word.Document . Em seguida, você pode usar toda a funcionalidade do objeto Word.Document para inserir e formatar texto, conforme a necessidade do seu cenário.

// Callback for inline response custom button.
public void OnInlineResponseButtonClick(Office.IRibbonControl control)
{
    if (control.Context is Outlook.Explorer)
    {
        Outlook.Explorer myExplorer =
            control.Context as Outlook.Explorer;
        Word.Document doc =
        myExplorer.ActiveInlineResponseWordEditor as Word.Document;
        Word.Application wdApp = doc.Application as Word.Application;
        Word.Range rng = wdApp.ActiveDocument.Range(Start: 1,
            End: wdApp.ActiveDocument.Characters.Count);
        rng.InsertBefore("\n" + "My Disclaimer...");
    }
}

Alterações para a estensibilidade do provedor do Outlook Social Connector

Em Office 2013, o Outlook Social Connector (OSC) expandiu seu escopo. Ele permite não apenas Outlook, mas todos os aplicativos cliente do Office que suporte exibindo a presença do usuário e o cartão de visita para exibir uma agregação de informações sociais atualizações aplicada em um site de rede social ou de professional. Além disso, o SharePoint Server, SharePoint Workspace e o cliente Lync também suportam o OSC.

Uma alteração importante no estensibilidade do provedor do OSC em Outlook 2013 é que atividades não estão mais sincronizadas usando o cache de atividades. Se um provedor OSC suporta exibição de atividades, o provedor deve sincronizar atividades sob demanda para exibir as atividades atualizadas.

Além disso, provedores agora podem usar o esquema OSC XML para se comunicar metadados extras para uma pessoa, por exemplo, askmeabout, businessAddress, interests, skills, schools, website.

Para obter informações detalhadas, consulte Novidades para provedores.

Interrompendo o suporte ao serviço móvel do Office

No Office 2010, os desenvolvedores podem criar web services para o Office Mobile Service (OMS) para integrar as capacidades móveis do Outlook e do SharePoint com dispositivos móveis. No Office 2013, apenas o SharePoint continua dar suporte ao OMS. Outlook 2013 também tem reduzido o objeto MobileItem e seus membros. Tentando criar um MobileItem usando Application.CreateItem retorna E_INVALIDARG.

Coexistência com versões anteriores do Outlook

Coexistência refere-se à capacidade de fornecimento Outlook 2013 por Click-to-Run no mesmo computador em que o Outlook 2007 ou o Outlook 2010 está presente. Coexistência, também conhecida como instalação lado a lado, permite que o usuário tentar Outlook 2013 sem precisar desinstalar uma versão anterior do Outlook. Click-to-Run é o mecanismo de entrega padrão para Outlook 2013. Depois que Outlook 2013 é entregue em um computador, o usuário pode executar Outlook 2013 ou versão anterior do Outlook instalado no seu computador. Lembre-se de que coexistência não significa que a execução simultânea de duas versões do Outlook. Não há suporte para a execução simultânea de duas versões do Outlook e Outlook exibirá uma caixa de diálogo de erro se você tentar executar uma versão anterior do Outlook enquanto Outlook 2013 está sendo executado.

Dica

Não há suporte para a coexistência de Outlook 2013 com versões do Outlook anteriores ao Outlook 2007.

Matriz de suporte da versão

Esta seção descreve os modos de instalação e o número de bits de versões anteriores do Outlook que pode coexistir com Outlook 2013. Observe o seguinte:

  • MSI refere-se à instalação do Microsoft Installer (MSI) de uma versão anterior do Outlook.

  • Versões com suporte do Windows para Office 2013 são apenas o Windows 7 e Windows 8.

  • Não há suporte para o Windows Server para Click-to-Run.

  • Outlook 2013 não oferece suporte a coexistência com o Outlook 2003 ou anterior.

  • Outlook 2013 não oferece suporte a coexistência com a mesma versão do Outlook – ou seja, Outlook 2013 instalados pelo MSI e Outlook 2013 viabilizadas pela Click-to-Run não são suportados no mesmo computador.

  • Cross-bitness não é suportado. O usuário deve sempre instalar a versão Click-to-Run que coincida com o número de bits da instalação MSI baixo nível.

Versão

MSI do Outlook 2007

Outlook 2010 x86 MSI

Outlook 2010 x64 MSI

Outlook 2013 C2R x86

Sim

Sim

Não

Outlook 2013 C2R x64

Não

Não

Sim

Perfis de dependente de versão

Para suportar a coexistência, Outlook 2013 armazena perfis do Outlook em uma seção separada no registro do Windows. O perfil de uma versão anterior do Outlook é migrado para o hive do perfil Outlook 2013 durante a primeira inicialização do Outlook 2013. As alterações subsequentes ou adições no perfil da versão anterior do Outlook não são migradas durante inicializações subseqüentes de Outlook 2013.

Seção de perfis no registro do Windows

Diferentemente das versões anteriores do Outlook que armazenados perfis de maneira independente de versão em HKCU\Software\Microsoft\Windows NT\Windows Messaging Subsystem\Profiles, Outlook 2013 armazena perfis em uma seção versionada sob a seguinte chave:

\Outlook\Profiles HKEY_CURRENT_USER\Software\Microsoft\Office\ < versão >

onde < versão > é uma cadeia de caracteres que representa a versão principal de xx.0, como 15.0 para Outlook 2013.

Chamar o perfil MAPI APIs

Não há nenhuma alteração para aplicativos para ler dados de perfil de uma seção de perfil. Após inicializar MAPI (para uma versão de baixo nível ou a versão mais atual do MAPI, dependendo dos requisitos do aplicativo), um aplicativo pode usar o perfil MAPI comuns APIs para ler valores do hive apropriado de perfil.

Se um aplicativo inicializa MAPI para Outlook 2013, o perfil MAPI APIs ler ou gravar dados de perfil para o hive versionado. Se o aplicativo inicializa MAPI para uma versão anterior do Outlook, o perfil MAPI APIs ler ou gravar dados de perfil para o hive versão independente.

Registro de caminho de aplicativo

Para evitar que aplicativos de baixo nível de carregar a versão errada do MAPI, Outlook 2013 modifica o registro do caminho do aplicativo no registro. Uma versão de baixo nível de um aplicativo ao carregar a versão errada do MAPI pode resultar em uma falha no aplicativo tentando carregar MAPI. Normalmente, as versões anteriores do Outlook tenham escrito o caminho de aplicativo do Outlook para a seguinte chave:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK. EXE

Versões anteriores do Click-to-Run não modificamos o caminho de aplicativo para Outlook. Como entregar Outlook 2013 por Click-To-Run modifica o caminho do aplicativo da seguinte maneira:

  • Instala os patches para o Outlook 2007 ou o Outlook 2010 remover a dependência em caminho do aplicativo.

    Modifica o caminho de aplicativo para apontar para o caminho Outlook 2013 para Outlook.exe.

    O caminho padrão para Outlook.exe para Outlook 2013 é C:\Program Files\Microsoft Office 15\root\office15.

Controle de versão MAPI

Aplicativos que usam MAPI chama a função MAPIInitialize para inicializar uma sessão MAPI. Por padrão, os aplicativos que inicializar MAPI usam a versão do MAPI fornecido pelo Outlook 2013. Se você precisa usar uma versão diferente do MAPI, consulte os seguintes tópicos na Referência do MAPI do Outlook 2013.

Simple MAPI

MAPI simples refere-se à API que permite que os aplicativos enviar emails com anexos usando MAPISendMail ou MAPISendMailW nova API introduzido com Windows 8.

  • As APIs de MAPI simples com suporte somente são MAPISendMail (Windows 7) ou MapiSendMailW (Windows 8).

    Os desenvolvedores devem considerar modificando código de MAPI simples existente para usar o MAPISendMailW (Windows 8) ou MAPISendMailHelper (Windows 7) com suporte a Unicode completa e a capacidade para exibir um inspector do Outlook sem janela restrita.

    Se o Outlook não está em execução ou Outlook 2013 está em execução, chamar MAPISendMail ou MAPISendMailW exibe um Inspetor Outlook 2013.

    Se estiver executando uma versão anterior do Outlook, chamar MAPISendMail ou MAPISendMailW exibirá o seguinte erro:

    Não há suporte para esta ação enquanto uma versão mais antiga do Outlook está sendo executado.

Manipuladores de protocolo

Durante a instalação, Outlook 2013 está registrado como o manipulador de protocolo padrão para os protocolos comuns listados na tabela a seguir. Outlook 2007, outlook 2010 e Outlook 2013 suportem a esses protocolos.

Protocolo

Descrição

feed:, feeds:

Manipulador para RSS feeds

mailto:

Manipulador para links MailTo que exibem um inspector do Outlook

stssync:

Manipulador de sincronização do SharePoint

outlook:

Protocolo do Outlook só pode ser usado na página início do Outlook item corpo ou pasta

webcal:

Manipulador de protocolo webcal

Observe o seguinte se Outlook 2013 está presente com uma versão mais antiga do Outlook no mesmo computador:

  • Se nenhuma versão anterior do Outlook estiver em execução, chamar o manipulador de protocolo invoca Outlook 2013 para processar a solicitação de manipulador de protocolo.

Se estiver executando uma versão anterior do Outlook, chamar o manipulador de protocolo usa da entrega de linha de comando para invocar a versão anterior do Outlook para processar a solicitação.

Associações de arquivos

Durante a instalação, Outlook 2013 está registrado como o manipulador padrão para as associações de arquivo comuns listados na tabela a seguir. Outlook 2007, outlook 2010 e Outlook 2013 suportem a todas essas extensões de arquivo.

Associação de arquivo

Descrição

.eml

Mensagem de email

.fdm

Definição de formulário do Outlook

.hol

Feriados do Outlook

.ics

arquivo iCalendar

.msg

Item de mensagem do Outlook

.oft

Modelo de item do Outlook

.pst

Arquivo de dados do Outlook

.vcf

arquivo vCard

.vcs

arquivo do vCalendar

Observe o seguinte se Outlook 2013 está presente com uma versão mais antiga do Outlook no mesmo computador:

  • Se nenhuma versão anterior do Outlook estiver em execução, abrindo um item com o sistema de arquivos abre o item no Outlook 2013. Esta ação inicia Outlook 2013 se ainda não estiver sendo executado.

  • Se estiver executando uma versão anterior do Outlook, abrindo um item com o arquivo system causa Outlook 2013 início e entregá-la a solicitação para essa versão anterior do Outlook.

Co criando um objeto Application do Outlook

Suplementos devem usar o objeto Application passado novamente o evento OnConnection (nativos suplementos) ou ThisAddin_Startup (suplementos gerenciados criados usando o Visual Studio Tools for Office). Se seu aplicativo co cria um objeto Outlook.Application usando CreateObject ou outra função que fornece a capacidade de criar co uma instância de Outlook.Application, você deve estar ciente dos seguintes procedimentos em um ambiente de coexistência:

  • Se o Outlook não está em execução ou Outlook 2013 está em execução, chamar CreateObject("Outlook.Application") retorna um objeto de Outlook.Application que representa Outlook 2013.

  • Se estiver executando uma versão anterior do Outlook, chamar CreateObject retorna um objeto Outlook.Application que representa a versão anterior do Outlook.

  • Examine a propriedade Application.Version para determinar a versão do Outlook que está sendo executado.

Detectando Click-to-Run

Para detectar a existência do Outlook no ambiente do Click-to-Run, verifique se a chave VirtualOutlook existe na seguinte chave do registro:

HKLM\Software\Microsoft\Office\15.0\Common\InstallRoot\Virtual\VirtualOutlook

Se a chave VirtualOutlook existir, Outlook foi entregue como um aplicativo Click-to-Run.

Garantindo que sua solução será executado no ambiente de coexistência

Como a coexistência é o modo de entrega padrão, você deve testar sua solução contra Outlook 2013 e versões anteriores do Outlook e verificar se há possíveis problemas a seguir:

  • Suplementos registrados no hive independente de versão no registro do Windows em

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins

    ou

    HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins

    Como o registro do suplemento é independente de versão, o suplemento deve executar quando Outlook 2013 ou uma versão anterior do Outlook está sendo executado. Certifique-se de testar uma versão atualizada do seu suplemento contra Outlook 2013 e versões anteriores do Outlook. O suplemento deve detectar a versão do Outlook usando Application.Version e ajustar normalmente para a versão do Outlook em execução.

  • Remova dependências no caminho do aplicativo do seu código.

  • Não use o registro do Windows para enumerar os perfis. Em vez disso, use o perfil MAPI APIs.

Critérios de desempenho para manter os suplementos habilitados

Estendendo o pilar resiliência de suplemento do Outlook 2010, monitores Outlook 2013 métricas de desempenho do suplemento como suplemento inicialização, desligamento, opção de pasta, item abra e invocar frequência. Outlook registra o tempo decorrido em milissegundos, para cada métrica de monitoramento de desempenho.

Por exemplo, a métrica de inicialização mede o tempo exigido por cada suplemento conectada durante a inicialização do Outlook. Outlook, em seguida, calcula o tempo de inicialização mediano sobre 5 iterações sucessivas. Se o tempo de inicialização mediano excede 1000 milissegundos (1 segundo), o Outlook desabilita o suplemento e exibe uma notificação ao usuário que um suplemento foi desativado. O usuário tem a opção de habilitar sempre o suplemento, nesse caso o Outlook não desabilitará o suplemento, mesmo se o suplemento excede o limite de desempenho de milissegundo de 1000

Monitoramento do desempenho do suplemento para desabilitar o padrão

O Outlook usa os seguintes critérios para determinar se ele deve desabilitar um suplemento. O usuário tem a opção de sempre habilitando um add-in e o suplemento suplemento desabilitando dos critérios de isenção de.

Critérios

Limite (em milissegundos)

Descrição

Inicialização

1000

Mede o tempo, em milissegundos, para o suplemento para inicialização completa usando o evento IDTExtensibility2_OnConnection . Por padrão, se o tempo médio ao longo de 5 iterações sucessivas excede o limite de desempenho, o Outlook desabilita o suplemento.

Desligamento

500

Mede o tempo, em milissegundos, para o suplemento para desligamento completo usando o evento IDTExtensibility2_OnDisconnection . Aplica-se somente aos suplementos que desligamento lento de solicitação. Suplementos que usam o desligamento rápido não estão sujeitos a esse critério. Se o tempo médio ao longo de 5 iterações sucessivas excede o limite de desempenho, o Outlook desabilita o suplemento na próxima inicialização do Outlook.

Opção de pasta

500

Mede o tempo, em milissegundos, para o suplemento à opção de pasta completa usando os eventos BeforeFolderSwitch e FolderSwitch no objeto Explorer . Por padrão, se o tempo médio ao longo de 5 iterações sucessivas excede o limite de desempenho, o Outlook desabilita o suplemento.

Item aberto

500

Mede o tempo em milissegundos, para o suplemento concluir a abertura de um item usando o evento Open em um item. Por padrão, se o tempo médio ao longo de 5 iterações sucessivas excede o limite de desempenho, o Outlook desabilita o suplemento.

Frequência de invocar

1000

Mede o tempo de chamadas de invocação do intervalo em milissegundos, entre o suplemento tornando 10.000 sucessivo. Por padrão, se o intervalo entre 10.000 sucessivas de chamadas e a próxima for menor que o limite de desempenho, o Outlook desabilita o suplemento. Ao contrário de outros 4 critérios, este critério não provoca levar um valor mediano.

Controle de administrador do sistema sobre suplementos

O usuário tem controle sobre quais suplementos executar em seus computadores. Para administradores de sistema, o Outlook 2013 oferecerá um nível avançado de controle sobre suplementos usando a diretiva de grupo. Diretiva de grupo sempre substituirão as configurações do usuário e os usuários são impedidos de alterar as configurações de suplementos para suplementos que tiverem sido configuradas pela diretiva de grupo "Lista de suplementos gerenciados". A chave de política é da seguinte maneira.

Tecla

HKCU\Software\Policies\Microsoft\Office\15.0\Outlook\Resiliency\AddinList

Nome

Lista de suplementos gerenciados

Descrição

Essa configuração de política permite que você especifique quais suplementos estejam sempre habilitados, sempre desabilitados (bloqueados) ou sejam configuráveis pelo usuário.

> [!TIP] >

Aqui, o termo "gerenciado" refere-se aos suplementos que são manipulados pela diretiva de grupo e não se relaciona aos suplementos sendo desenvolvidos em linguagens de programação gerenciadas.

Para bloquear os suplementos que não são gerenciados por essa diretiva, você também deve configurar a configuração de diretiva "Bloquear todos os suplementos não gerenciados".

Para habilitar essa configuração de política, forneça as seguintes informações para cada suplemento:

  • Em "Nome de valor", especifique o identificador programático (ProgID) para suplementos de COM.

    Para obter o ProgID de um suplemento, use o Editor do registro no computador cliente onde o suplemento está instalado para localizar os nomes de tecla em

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins

    ou

    HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins

  • Em "Valor", especifique o valor da seguinte maneira:

    • Para especificar que um suplemento é sempre desabilitado (bloqueados), especifique 0.

    • Para especificar que um suplemento está sempre habilitado, especifique 1.

    • Para especificar que um suplemento é configurável pelo usuário e não bloqueadas pela configuração de diretiva "Bloquear todos os não gerenciados suplementos" Quando habilitada, especifique 2.

Se você desativar ou não habilitar essa configuração de política, a lista de suplementos gerenciados é excluída. Se a configuração de diretiva "Bloquear suplementos tudo não gerenciados" estiver habilitada, todos os suplementos estão bloqueados.

Suplementos que estão desabilitados por essa diretiva nunca serão desabilitados pelo suplemento desabilitando recurso do Outlook, que desabilita suplementos para o desempenho, a resiliência ou motivos de confiabilidade.

Interface do usuário para o suplemento desabilitando recurso

Quando um suplemento excede o limite de desempenho, o Outlook exibe a barra de notificação mostrada na Figura 8 que informa o usuário que um ou mais suplementos tiver sido desativada.

Figura 8. O Outlook exibe uma barra de notificação quando um suplemento é desativado automaticamente

Notification bar

Se o usuário clicar no botão Exibir desabilitado suplementos na barra de notificação, será exibida a caixa de diálogo suplementos Disabled conforme mostrado na Figura 9.

Figura 9. Botão "Sempre habilitar este suplemento" permite que o suplemento e isenta o suplemento a partir do recurso de desabilitar suplementos

Always enable an add-in

Se o usuário decidir que o tempo de desempenho exigido pelo suplemento é aceitável, o usuário tem a opção de habilitar sempre o add-in. Um suplemento que está sempre habilitado não será automaticamente desabilitado pelo Outlook com base nos critérios de desempenho. Se por algum motivo o usuário decidir posteriormente que ele ou ela não é mais desejaria isenta o suplemento a partir do recurso de desabilitar suplementos, o usuário também pode desativar o suplemento na caixa de diálogo suplementos Disabled mostrado na Figura 10.

Figura 10. Selecionando a desabilitar esse botão suplemento desabilita o suplemento

Disable an add-in

Impedindo que um suplemento que está sendo desativado

Enquanto a maioria dos suplementos não serão desabilitados pelo suplemento desabilitando recurso, você não quer o suplemento a ser desabilitado de forma consistente. Aqui estão as sugestões para melhorar o desempenho do suplemento:

  • Preferir nativos suplementos de COM suplementos gerenciados desde que suplementos gerenciados devem acarretar uma sobrecarga de carregamento do .NET Framework durante a inicialização do Outlook.

  • Se você tiver tarefas de execução longa, como tornar uma conexão cara para um banco de dados, adie a essas tarefas para que ela ocorra após a inicialização.

  • Armazenar dados localmente em cache se possível, em vez de fazer rede caro chama durante o FolderSwitch e BeforeFolderSwitch eventos de um explorer ou Open eventos de um item.

  • Sondagem é uma operação dispendiosa, portanto sempre preferir um modelo orientado ao evento sondagem.

  • Lembre-se de que todas as chamadas para o modelo de objeto do Outlook executar no thread de primeiro plano principal do Outlook. Evite fazer chamadas de modelo de objeto do Outlook demoradas se possível. Observe que no Outlook 2013, chamadas para o modelo de objeto do Outlook retornam E_RPC_WRONG_THREAD quando o modelo de objeto do Outlook é chamado de um thread de plano de fundo.

Em particular, se você usar ferramentas de desenvolvedor do Office no Visual Studio para criar suplementos gerenciados, lembre-se de que o primeiro suplemento para carregar o CLR está provavelmente precisará executar um impacto no desempenho. Considere as seguintes medidas e consulte os recursos adicionais no final deste documento para obter detalhes:

  • Carregar um suplemento gerenciado sob demanda.

  • Carregamento do CLR com atraso.

  • Use um pacote de implantação MSI em vez do ClickOnce.

  • Se aplicável, use um caminho Fast para ignorar a validação de esquema, a validação de assinaturas digitais no manifestos e verificar a atualização automática. Você pode encontrar mais informações sobre como usar o caminho Fast na postagem do blog Desempenho aprimoramentos breve, para um Service Pack perto de você (Stephen Peters).

  • Se seu suplemento aumenta a faixa de opções e os links em uma grande biblioteca, substitua reflexão na faixa de opções.

Conclusion

Aplicativos de email oferecem uma oportunidade excelentes para desenvolvedores trazer UI contextual voltado para a web e serviços web diretamente para o Outlook e Outlook Web App. Podemos ter entregue em nossa visão da "Write uma vez, executar em qualquer lugar" para desenvolvedores do Exchange e Outlook. Agora, oferecemos dois pilares de extensibilidade, o primeiro a ser criado o Office COM suplemento recurso introduzido no Office 2000 e a segunda criado na plataforma de aplicativos de email. O modelo de suplemento de COM suporte à integração profunda com apenas o cliente do Outlook e requer que você toca com cada área de trabalho quando sua solução está instalada. Se você tiver uma solução de suplemento existente, você deve considerar a atualizar o suplemento para trabalhar com a resposta embutida, coexistência e o recurso de desativação add-in. Se você estiver procurando por novas oportunidades para atingir um público muito grande, usando o Outlook e Outlook Web App, crie um aplicativo de email e gostam de implantação de web simples e integração do serviço web diretamente na interface do usuário do Outlook. Seja qual for o caminho que você escolher (e você pode escolher ambos), boa codificação!

Recursos adicionais

Suplementos do Office

Barra do tempo

Modelos de objeto do Outlook e do Office

Outlook Social Connector

Coexistência e MAPI

Desenvolvimento de suplementos de desempenho e do Office no Visual Studio

Diversos