Atualizações para desenvolvedores no Project

Os recursos de extensibilidade no Project Server 2013 funcionam com suplementos para Project Online e com instalações locais. Os novos recursos incluem um CSOM (modelo de objeto do lado do cliente), interfaces REST, um serviço OData para relatórios, receptores de eventos remotos, fluxos de trabalho declarativos e suplementos de painel de tarefas para clientes do Project. Saiba também sobre recursos preteridos que não devem ser usados para o novo desenvolvimento.

O Project Server 2013 baseia-se na estrutura introduzida com o Microsoft Office Project Server 2007 e estendida pelo Project Server 2010. O Project Server 2013 adiciona um CSOM (modelo de objeto do lado do cliente) que é refatorado e simplificado do PSI (Project Server Interface) e inclui uma biblioteca JavaScript e .NET Framework 4 bibliotecas para aplicativos Windows, Windows Phone 8 e Microsoft Silverlight. O CSOM foi projetado para desenvolvimento para Project Online e também funciona com uma instalação local do Project Server.

Os bancos de dados do Project Server são combinados em um único banco de dados; você pode acessar as tabelas e exibições de relatórios online por meio de um serviço OData. O CSOM e o serviço OData incluem uma interface REST (Transferência de Estado Representacional). Os fluxos de trabalho do Project Server podem ser criados usando o SharePoint Designer 2013. Project Professional 2013 pode se integrar com dados de relatório do Project Server, listas de tarefas do SharePoint e outros conteúdos externos usando o modelo de extensibilidade de Suplementos do Office para painéis de tarefas. Project Standard 2013 pode usar suplementos do painel de tarefas para se integrar ao conteúdo externo geral.

Para ver diagramas e mais informações sobre as principais alterações no Project Server 2013, confira Arquitetura do Project Server 2013.

Observação

O Project Server 2013 foi criado na plataforma SharePoint Server 2013 e o Project 2013 inclui grande parte da mesma infraestrutura que os outros aplicativos do Office 2013. Para obter a documentação do modelo para suplementos do SharePoint, fluxos de trabalho baseados em SharePoint, Web Parts, desenvolvimento com outros recursos do SharePoint e documentação de Suplementos do Office, confira Visão geral de desenvolvimento de Suplementos do SharePoint, Suplementos do Office e SharePoint 2013.

Principais novos recursos no Project 2013

Novos recursos no Project Standard 2013 e Project Professional 2013 incluem uma interface de usuário aprimorada que corresponde a outros aplicativos do Office 2013 e dá suporte à interface do usuário de estilo moderno em Windows 8, integração com objetos do Office Art para relatórios, relatórios de burndown e novos recursos de programação para relatórios. Project Professional 2013 permite projetos mais extensos de compartilhamento e sincronização no SharePoint Server 2013, juntamente com os suplementos de painel de tarefas que também são implementados em outros aplicativos do Office 2013, como Word, Excel e Outlook.

Há muitos novos recursos no Project Server 2013. Alguns não têm uma história de programação importante, como o novo linha do tempo no Project Web App. Esses recursos serão documentados na ajuda do produto e na documentação do usuário final no Microsoft Office Online e em tópicos direcionados a administradores e profissionais de TI no Microsoft TechNet. Outros novos recursos, como planilhas de tempo aprimoradas, facilitam a interação de desenvolvedores de terceiros com folhas de tempo e status por meio da PSI (Interface do Project Server).

A adição de Project Online e da Office Store (https://office.microsoft.com/store) para suplementos de projeto são alterações de longo alcance, em que o Project Server está acessível por meio do Microsoft Azure. O acesso baseado em nuvem ao Project Server usa um CSOM (modelo de objeto do lado do cliente) para desenvolvimento de suplementos com o Microsoft .NET Framework, Microsoft Silverlight, Windows Phone e aplicativos Web que usam JavaScript. Um requisito de Project Online é que os quatro bancos de dados do Project Server de versões anteriores sejam mesclados em um banco de dados.

O desempenho e a escalabilidade do Project Server 2013 são aprimorados em muitas áreas, como status de tarefas, tabelas de tempo e gerenciamento de projetos. Os fluxos de trabalho do Project Server são redesenhados com a versão 4 do Windows Workflow Foundation (WF4). O uso do .NET Framework 4 e do Windows Communication Foundation (WCF) com o PSI melhora a segurança, o desempenho e a escalabilidade. Por exemplo, você pode alterar o protocolo de transporte de aplicativos baseados em WCF usando arquivos de configuração, sem alterar o código do aplicativo ou recompilar. O Project Web App armazena em cache muitas das chamadas psi em que os dados não são alterados significativamente.

Observação

Para desenvolvimento com o Project Server 2013, você pode usar o Visual Studio com as extensões de ferramentas do Office e do SharePoint, que podem criar nativamente suplementos para os produtos do Office 2013. O Project Server 2013 exige que o Visual Studio habilite totalmente o desenvolvimento de recursos, como páginas de detalhes do projeto e aplicativos baseados em WCF. As extensões de ferramentas do SharePoint no Visual Studio podem implantar Web Parts e outros recursos do SharePoint diretamente no Project Web App e em outros sites do SharePoint.

O Visual Studio não é mais necessário para desenvolver fluxos de trabalho do Project Server que usam campos, estágios, fases e tipos de projeto corporativo personalizados que podem ser gerenciados no Project Web App. Embora você possa usar o Visual Studio para desenvolver fluxos de trabalho, eles geralmente são mais fáceis e rápidos de criar usando o SharePoint Designer. O Visual Studio pode ser usado para fluxos de trabalho que exigem acesso ao CSOM ou a outras APIs externas.

Suplementos do Project

A distribuição e o marketing do software foram revolucionados com o conceito de suplemento. Para o Project 2013, os suplementos podem ser disponibilizados para compra e download na Office Store pública ou distribuídos em um catálogo privado no SharePoint. Um suplemento normalmente é um programa interativo e independente que executa um pequeno número de tarefas relacionadas. Um suplemento do Project pode ser um suplemento de painel de tarefas para os clientes Project Standard 2013 ou Project Standard 2013 ou um suplemento para o Project Server 2013 ou Project Online.

Para obter informações sobre suplementos para os clientes da área de trabalho do Project, consulte Suplementos de painel de tarefas no Project. Para obter um exemplo do Project Server 2013, consulte Criar um suplemento do Project Server hospedado pelo SharePoint. Além dos artigos no SDK de Suplementos do Office e do SharePoint, o Blog do Office tem muitas postagens que também são relevantes para o Project 2013 e Project Online.

Um suplemento para o Project Server 2013 pode funcionar com uma instalação local e Project Online. Os suplementos do Project Server podem incluir Web Parts, receptores de eventos remotos e lógica de negócios. O acesso ao modelo de objeto do Project Server em um suplemento é por meio do CSOM, não do PSI. O armazenamento de dados pode ser baseado em nuvem, como com SQL Azure, externo, como por meio do BCS (Microsoft Business Connectivity Services), interno com um banco de dados local ou misto.

Segurança de suplemento

Em geral, as ações que um suplemento executa são executadas em nome do usuário que executa o suplemento; você não usa explicitamente a representação ou especifica quem pode executar o suplemento. As ações não podem exceder o nível de permissão do usuário que executa o suplemento.

No Office Developer Tools para Visual Studio 2012, o arquivo AppManifext.xml tem um editor gráfico em que você pode definir o escopo da solicitação de permissão. Por exemplo, para criar um suplemento que permita que os gerentes de projeto atualizem seus projetos, na guia Permissões do painelAppManifest.xml designer, selecione Vários Projetos para o escopo e Escreva para a permissão. Se o usuário do suplemento tiver permissões de gerenciador de projetos, ela poderá executar o suplemento para projetos que gerencia. O código no arquivo AppManifest.xml incluiria o seguinte:

  <AppPermissionRequests>
    <AppPermissionRequest Scope="https://sharepoint/projectserver/projects" Right="Write" />
  </AppPermissionRequests>

Tabela 1. Escopos de solicitação de permissão para suplementos do Project Server

Escopo Permissões
Project Server
Gerenciar (requer permissões de administrador do Project Server.)
Vários projetos
Leitura, Gravação (requer permissões do gerenciador de projetos para algumas operações; permissões de membro da equipe de projeto para operações básicas de leitura, como atribuições de tarefa.)
Projeto Único
Leitura, gravação (requer pelo menos permissões de membro da equipe do projeto; o acesso a alguns dados em um projeto depende de outros níveis de permissão.)
Recursos corporativos
Leitura, gravação (requer permissões do gerenciador de recursos.)
Statusing
SubmitStatus (requer permissão para enviar status para seus projetos.)
Relatórios
Leitura (requer permissão para fazer logon no Project Server.)
Fluxo de trabalho
Elevate (Requer permissão para executar fluxos de trabalho. O suplemento é executado com permissões elevadas, para habilitar transições de estágio para estágio em um fluxo de trabalho. Lógica de negócios nas transições de fase de controles de suplemento.)

Observação

O Project Server 2013 e Project Online não usam o modelo de autenticação somente aplicativo no SharePoint 2013 (confira Tipos de política de autorização de suplemento no SharePoint 2013).

Para obter informações sobre como desenvolver, distribuir, hospedar e gerenciar suplementos, consulte Suplementos do SharePoint e Suplementos do Office e tópicos relacionados na documentação do desenvolvedor do SharePoint Server 2013 e do Office 2013. Para obter informações sobre o escopo da solicitação de permissão para outros Suplementos do SharePoint, consulte Permissões de suplemento no SharePoint 2013.

Integração com o SharePoint Server

Muitos recursos no Project Web App exigem a nova infraestrutura no SharePoint Server 2013, como autenticação baseada em OAuth e declarações, autorização do Project Server e permissões por meio de grupos do SharePoint, sincronização de projetos com listas de tarefas do SharePoint e fluxos de trabalho declarativos do Project Server. O Aplicativo de Serviço de Projeto pode ser associado a qualquer coleção de sites em um farm do SharePoint. A sincronização do projeto pode ser com uma lista de tarefas do SharePoint, em que o SharePoint mantém o projeto. Um projeto empresarial também pode ser sincronizado com uma lista de tarefas do SharePoint, em que o Project Server mantém o controle total. Para diagramas de arquitetura e uma explicação da sincronização do projeto, consulte Arquitetura do Project Server 2013.

Há muitos novos recursos no SharePoint Server 2013. Para obter mais informações, consulte SharePoint para desenvolvedores.

Integração com fluxos de trabalho

Os fluxos de trabalho são um recurso principal do gerenciamento do portfólio de projetos. Um ciclo de vida do projeto pode incluir processos de longa execução que abrangem muitas fases. As fases de governança incluem propostas de projeto, análises de impacto nos negócios e seleção, criação, planejamento, gerenciamento e acompanhamento de projetos.

Os fluxos de trabalho do Project Server 2013 são criados na plataforma de fluxo de trabalho do SharePoint 2013, que usa o WF4. Ao contrário das versões anteriores, os fluxos de trabalho declarativos para o Project Server 2013 podem ser criados usando o SharePoint Designer 2013 e são acessíveis para uso local e online. Os fluxos de trabalho do Project Server usam o modelo de segurança do fluxo de trabalho do SharePoint com o OAuth e podem ser instalados em um site do Project Web App. A Figura 1 mostra que o SharePoint Designer 2013 pode adicionar estágios a um fluxo de trabalho do site para Gerenciamento de Demanda, onde os estágios são definidos no Project Web App.

Figura 1. Usar o SharePoint Designer para adicionar um estágio a um fluxo de trabalho para o Project Web App

Adicionar um estágio a um fluxo de trabalho no SPD

Você cria um fluxo de trabalho declarativo adicionando estágios, ações, condições e outros elementos de fluxo de trabalho em uma ferramenta de design, que pode ser o SharePoint Designer 2013 ou o Visual Studio 2012. Em seguida, a ferramenta de design salva o fluxo de trabalho como código XAML, que é interpretado no runtime. Os fluxos de trabalho declarativos podem ser executados no Project Server 2013 local ou em Project Online. Usando o Visual Studio 2012, você também pode criar ações e formulários personalizados para controle adicional e salvar modelos de fluxo de trabalho para reutilização com várias instâncias do Project Web App. O SharePoint Designer 2013 pode consumir ações personalizadas criadas no Visual Studio 2012.

Um fluxo de trabalho do Project Server 2013 atua como um aplicativo, em que um administrador , que tem permissões de design para o Project Web App, pode publicar um fluxo de trabalho declarativo e associá-lo a um EPT (tipo de projeto empresarial). O EPT deve ser para um projeto empresarial, em que o Project Server mantém controle total. Uma lista de tarefas do SharePoint não pode usar um fluxo de trabalho do Project Server.

O OAuth permite que os gerentes de projeto que têm permissões de criação de projeto invoquem o fluxo de trabalho sem usar representação. Chamadas de fluxo de trabalho para o Project Server, por exemplo, para ler um valor de campo personalizado para decidir qual branch a seguir, são feitas em nome do gerenciador de projetos. Para impedir que o gerenciador de projetos crie um fluxo de trabalho que avance automaticamente para o próximo estágio, a chamada para mover para o próximo estágio de fluxo de trabalho é executada como o autor do fluxo de trabalho (o administrador). Por outro lado, os usuários dos fluxos de trabalho herdados do Project Server 2010 fazem chamadas representadas por meio da conta de usuário proxy do fluxo de trabalho para obter acesso do administrador em todo o fluxo de trabalho.

Embora o Project Server 2013 local possa usar fluxos de trabalho compilados baseados em WF3.5, recomendamos atualizar fluxos de trabalho herdados para fluxos de trabalho declarativos com base no WF4. A tecnologia mais recente é mais escalonável e robusta. Analistas de negócios e funcionários do PMO podem criar ou atualizar projetos de fluxo de trabalho usando o Visio 2013 e implementar fluxos de trabalho do Project Server sem codificação usando o SharePoint Designer 2013.

Para obter informações sobre como criar um fluxo de trabalho declarativo para o Project Web App, consulte Introdução ao desenvolvimento de fluxos de trabalho do Project Server. Para obter uma comparação dos recursos do SharePoint Designer e do Visual Studio para fluxos de trabalho, consulte Desenvolver fluxos de trabalho do SharePoint 2013 usando o Visual Studio.

Modelo de objeto do lado do cliente

O acesso programático ao Project Online requer um CSOM criado no CSOM do SharePoint. Project Online autenticação será com o OAuth usando uma ID do Windows Live, não autenticação ou autenticação do Windows do Project Server Forms.

A seguir estão os princípios e os recursos do CSOM no Project Server 2013:

  • O CSOM foi projetado para facilitar o uso. Por exemplo, métodos e propriedades usam ou fornecem dados diretamente pelo nome, em vez de exigir muitos GUIDs, alterar parâmetrosXml ou transmitir conjuntos de dados.

  • O CSOM do Project Server implementa um subconjunto da funcionalidade psi, com base nos requisitos mais comuns para soluções de terceiros.

  • O CSOM chama internamente o PSI, mas é fatorado de forma diferente. Por exemplo, as atualizações para todas as alterações de status são feitas por meio do método StatusAssignmentCollection.SubmitAllStatusUpdates , não pelo método Statusing.SubmitStatus PSI para o usuário ou o método SubmitStatusForResource para outros recursos.

  • O CSOM é acessível por meio de um serviço WCF (Client.svc), em vez de por meio dos 22 serviços públicos do PSI.

  • A inicialização do CSOM do Project Server é diretamente por meio da classe ProjectContext com a URL do Project Web App, não usando uma referência WCF ou um assembly proxy.

  • O CSOM implementa várias bibliotecas e interfaces de cliente, que têm suporte na infraestrutura interna do CSOM do SharePoint. As bibliotecas e interfaces do cliente incluem o seguinte:

    • Biblioteca de clientes do Microsoft .NET no assembly de Microsoft.ProjectServer.Client.dll

    • Biblioteca Silverlight no assembly Microsoft.ProjectServer.Client.Silverlight.dll

    • Windows Phone biblioteca 8 no assembly Microsoft.ProjectServer.Client.Phone.dll

    • Biblioteca JavaScript para aplicativos Web no arquivo PS.js ou PS.debug.js arquivo

    • Pontos de extremidade REST, para acesso com o protocolo OData

    • Suporte nativo para consultas LINQ com filtragem, para limitar a quantidade de dados retornados

  • O CSOM pode ser usado tanto para soluções Project Online quanto para soluções locais, independentemente do PSI e de outros assemblies do Project Server, como Microsoft.Office.Project.Server.Library.dll.

  • A funcionalidade adicional do CSOM do Project Server 2013 pode ser considerada para atualizações cumulativas e pacotes de serviço, com base em solicitações de parceiros do Project Server e da comunidade de desenvolvedores.

Observação

O CSOM é a interface preferida para desenvolvedores do Project Server de terceiros. Recomendamos que você use o CSOM para o desenvolvimento de novos aplicativos, caso o CSOM inclua a funcionalidade exigida por seu aplicativo.

Para obter informações sobre como desenvolver com o CSOM, consulte CSOM (modelo de objeto do lado do cliente) para o Projeto 2013. Para obter informações sobre a interface REST em aplicativos do SharePoint, consulte Programação usando o serviço REST do SharePoint na documentação do desenvolvedor do SharePoint 2013.

Alterações no banco de dados Reporting

Os quatro bancos de dados no Project Server 2010 são combinados em um único banco de dados project no Project Server 2013. O nome padrão do banco de dados project é ProjectService. Tabelas e exibições de relatórios mantêm seus nomes e tabelas e exibições anteriores dos bancos de dados Rascunho, Publicado e Arquivo têm os prefixos draft, pube ver no banco de dados ProjectService. Por exemplo, a tabela de projetos publicados é pub. MSP_PROJECTS.

Importante

Não há suporte para acesso direto para as tabelas e exibições de rascunho (draft prefixo), publicado (pub) e arquivo (ver). Os relatórios devem usar apenas as tabelas e visualizações de relatórios, que têm o prefixo dbo. Por exemplo, o dbo. MSP_EpmProject tabela inclui a lista de projetos na instância do Project Web App.

Não há nada que o impeça ativamente de usar o acesso direto ao banco de dados programático para atualizar dados em qualquer uma das tabelas e exibições no banco de dados do Project. Você deve estar ciente de que o cache Project Professional, as tabelas de dados de rascunho e publicado e todas as tabelas de relatórios dependem de um protocolo de sincronização de cache que pode ser interrompido pela edição direta de dados. Se você danificar seus bancos de dados do Project Server ou corromper Project Professional caches do lado do cliente usando o acesso direto para alterar dados, fique avisado de que o suporte ao produto não poderá ajudar!

O Project Server 2013 apresenta um serviço OData para acesso online e local. As tabelas e exibições de relatórios online são expostas apenas pela interface OData; para uso local, você pode usar a interface OData ou acessar diretamente as tabelas e exibições de relatórios no banco de dados ProjectService no farm do SharePoint. Project Online não dá suporte a um banco de dados multilocatário. Ou seja, várias instâncias do Project Web App têm seu próprio banco de dados do Project. O serviço OData executa internamente consultas SQL nas tabelas e exibições de relatórios e fornece uma carga XML ou JSON. Para obter uma introdução ao serviço OData para relatórios no Project Server 2013 e para a referência de esquema ProjectData , consulte Referência de serviço ProjectData – Project OData.

Para obter informações gerais sobre consultas OData, consulte OData: convenções de URI. Por exemplo, você pode ver todos os projetos em uma instância local do Project Web App em que o nome do projeto começa com "Teste" usando a consulta a seguir em um navegador. Clique com o botão direito do mouse na página do navegador e clique em Exibir fonte.

https://ServerName /ProjectServerName /_api/ProjectData/Projects?$filter=startswith(ProjectName, 'Test') eq true

Para importar dados do projeto para o PowerPivot no Excel 2013, na faixa de opções DATA, selecione No feed de dados OData no menu suspenso De Outras Fontes . Na caixa de diálogo Assistente de Conexão de Dados, digite https://ServerName/ProjectServerName/_api/ProjectData/ no local do feed de dados, escolha Avançar e selecione a tabela Projetos na página Selecionar Tabelas do assistente. Nomeie e salve o arquivo .odc e escolha Concluir. Na caixa de diálogo Importar Dados , escolha Relatório de Tabela Dinâmica. Na planilha do Excel, escolha campos para as linhas de tabela dinâmica e colunas que você deseja mostrar.

Os usuários locais do Project Server, que têm as permissões corretas, podem acessar diretamente as tabelas e exibições de relatórios por meio do Microsoft SQL Server para criar relatórios, como fazem no Project Server 2010. No Project Server 2013, os usuários também podem acessar as tabelas de relatórios locais por meio da interface OData. Você pode recuperar dados do Project Server online ou local por meio de pontos de extremidade REST para o serviço OData. Por exemplo, a tabela dbo.MSP_PROJECT e a exibição dbo.MSP_EpmProject_UserView pode ser usada para relatórios. Todas as tabelas ou exibições que tenham um draft, pubou ver prefixo são apenas para uso interno pelo Project Server e não são para uso de relatórios. Por exemplo, o rascunho. MSP_TASKS mesa e o pub. MSP_PROJECTS_WORKING_VIEW exibição não está documentada e é somente para uso interno.

Observação

Você pode estender relatórios locais adicionando tabelas, exibições, campos e procedimentos armazenados em um banco de dados separado. Você não deve modificar as tabelas e exibições de relatórios existentes no banco de dados do Project Server.

As tabelas de relatórios, exibições e campos no banco de dados project serão documentados em um arquivo de ajuda HTML em uma atualização posterior do download do SDK do Project 2013. Para obter a documentação do esquema OData XML para o serviço ProjectData , consulte Referência de serviço ProjectData – Project OData. As consultas das tabelas e exibições de relatórios criadas para o Project Server 2010 funcionarão, na maioria dos casos, com o banco de dados project no Project Server 2013. Os usuários locais podem acessar os cubos OLAP do Project Server em SQL Server Analysis Services, como fazem atualmente. No Project Online, os cubos OLAP não estão disponíveis.

Suplementos do painel de tarefas no Project

Tanto Project Standard 2013 quanto Project Professional suplementos de painel de tarefas de 2013, que podem ser usados para integrar e exibir conteúdo externo em uma página da Web. O painel de tarefas mostra o conteúdo da página da Web que tem acesso por meio do JavaScript a tarefas, recursos, exibições e dados gerais do projeto. O modelo de objeto JavaScript para Project pode obter informações sobre uma tarefa ou recurso selecionado e pode obter dados em uma célula selecionada na grade para exibições como o gráfico de Gantt. Os suplementos do painel de tarefas do Project também podem implementar manipuladores de eventos para eventos alterados de tarefa, recurso ou exibição de seleção.

A Figura 2 mostra o suplemento de painel de tarefas Hello ProjectData que consulta o serviço ProjectData e compara dados no projeto atual com as médias de todos os projetos. O download do SDK do Project 2013 inclui o código-fonte completo para o suplemento.

Figura 2. Um suplemento de painel de tarefas no Project Professional pode acessar dados no Project Server

Comparando o projeto atual com todos os projetos

Observação

Project Standard 2013 não pode se integrar diretamente ao Project Server 2013 por meio de suplementos do painel de tarefas.

Os suplementos do painel de tarefas em Project Professional podem dar suporte a Web Parts que são criadas para o Project Server 2013, para que os desenvolvedores possam criar uma extensão uma vez executada com o Project Web App e Project Professional. Suplementos gerais do painel de tarefas que são desenvolvidos para outros produtos do Office 2013 também podem ser usados com Project Standard 2013 e Project Professional 2013. Para obter mais informações, confira Suplementos de painel de tarefas para Project.

Receptores de eventos do Project Server

Pode haver vários servidores do Project Web App (também chamados de servidores de front-end da Web ou WFEs) em um farm do SharePoint que inclui o aplicativo de serviço de projeto de back-end. Os receptores de eventos também podem ser chamados de manipuladores de eventos. Os manipuladores de eventos locais podem ser implementados com código de confiança total e implantados em todos os WFEs para uma instalação local do Project Server. Os receptores de eventos remotos podem ser implementados em serviços Web em servidores locais ou remotos e acessados por vários WFEs e várias instalações do Project Server. Project Online só pode usar receptores de eventos remotos.

Os manipuladores de eventos do Project Server são gerenciados pelo SharePoint para cada instância do Project Web App, em vez de por uma página específica do Project Web App Settings. No aplicativo Administração Central do SharePoint, escolha Configurações gerais do aplicativo, escolha Gerenciar em Configurações de PWA e escolha a instância na lista suspensa Instância do Aplicativo Web do Projeto na página Configurações do PWA. Para adicionar um manipulador de eventos local ou um receptor de eventos remoto, escolha Manipuladores de Eventos do Lado do Servidor.

Para uma instalação local do Project Server, você pode criar um receptor de eventos remoto como um recurso do SharePoint que usa a classe Microsoft.ProjectServer.Client.EventHandlerCreationInformation no CSOM e, em seguida, gerenciar programaticamente o receptor de eventos usando métodos na classe EventHandlerCollection . Para receptores de eventos remotos, os pré-eventos são síncronos, pós-eventos são assíncronos e há um tempo limite para casos em que o receptor de eventos remoto não retorna.

Observação

A Administração Central do SharePoint está disponível apenas para instalações locais. Para Project Online e o SharePoint Online, você pode adicionar ou remover receptores de eventos remotos usando um pacote de aplicativo baseado em CSOM.

Na página Manipuladores de Eventos do Lado do Servidor, o processo para adicionar um manipulador de eventos local para uma instalação do Project Server local é quase o mesmo que o processo descrito no manipulador de eventos Criar um Project Server e registrar um tópico de evento para o Project Server 2010. A diferença é que a página Novo Manipulador de Eventos tem opções adicionais. Por exemplo, escolha Criação de Projeto na lista Eventos e escolha NOVO MANIPULADOR DE EVENTOS. Na página Novo manipulador de eventos, os dois únicos campos necessários são Nome e Ordem (consulte Figura 3). Se você estiver adicionando um manipulador de eventos de confiança total local, adicione o campo Nome do Assembly e o campo Nome da Classe ; deixe a Url do Ponto de Extremidade vazia. Se você estiver adicionando um receptor de eventos remoto, adicione a Url do Ponto de Extremidade e deixe o Nome do Assembly e o Nome da Classe vazios.

Cuidado

Se você especificar o nome do assembly/nome da classe e a URL do ponto de extremidade, o Project Server chamará apenas o manipulador de eventos local (local). O receptor de eventos remoto é ignorado.

Se você criar dois manipuladores de eventos para o mesmo evento, em que um manipulador de eventos é local e um é um receptor de eventos remoto, e o valor Order é o mesmo para ambos, o Project Server ignorará o receptor de eventos remoto.

Figura 3. Adicionar um manipulador de eventos local ou um receptor de eventos remoto

Configurando um manipulador de eventos ou um receptor de eventos

Se você precisar de acesso a conjuntos de dados PSI para um manipulador de eventos local, poderá copiar o assembly Microsoft.Office.Project.Schema.dll do diretório [Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0__71e9bce111e9429c.

Em vez do PSI, recomendamos que você use as classes de evento no namespace Microsoft.ProjectServer.Client ; o desenvolvimento com o CSOM não requer manipulação de conjuntos de dados. Para desenvolver receptores de eventos remotos para Project Online, você deve usar a classe Event e a classe EventHandlerCreationInformation no CSOM.

Antes de implantar um manipulador de eventos do Project Server, instale e teste completamente o manipulador de eventos em uma instalação de teste do Project Server. Para uma instalação local do Project Server, se o manipulador de eventos local que você adiciona se tornar inoperante, o Serviço de Eventos do Project Server 2013 não carregará os outros manipuladores de eventos personalizados válidos. Nesse caso, você deve remover o manipulador de eventos de problemas e reiniciar o serviço Eventos.

Observação

Para uma instalação local do Project Server, recomendamos migrar para receptores de eventos remotos usando o CSOM para desenvolver receptores de eventos. Como os receptores de eventos remotos não têm código de terceiros em execução no Serviço de Eventos do Project Server, os receptores de eventos remotos são mais estáveis. Os administradores locais são dispensados da responsabilidade de manter o Serviço de Eventos do Project Server.

Para obter informações gerais sobre eventos, consulte Manipulação de eventos em aplicativos para SharePoint.

Recursos preteridos

Observação

Para obter informações sobre recursos e APIs que são preteridos ou removidos no Project Server 2016 Versão Prévia, confira O que está preterido ou removido em Project Server 2016 Versão Prévia.

Os recursos preteridos ainda estão disponíveis no Project 2013 para algumas soluções, mas não devem ser usados para novo desenvolvimento. A maioria dos recursos e práticas a seguir não funcionam com Project Online ou com a instalação local padrão do Project Server 2013 no modo de permissão do SharePoint. As soluções existentes que usam esses recursos podem não funcionar para uma atualização do Project Server 2010 para o Project Server 2013. Embora as soluções que usam recursos preteridos possam continuar funcionando em alguns casos, elas não têm suporte total para todas as instalações do Project 2013.

Se suas soluções usarem recursos preteridos, elas devem ser testadas minuciosamente antes da implantação e você deve modificá-las para usar recursos com suporte assim que for prático. Para obter informações sobre como configurar a segurança do Project Server 2013 local para o modo de permissão do Project, consulte a seção Modo de Permissão do SharePoint no Novidades para profissionais de TI no Project Server 2013.

  • Os cenários de extensão psi de extensões são preteridos e não terão suporte em versões futuras. Esses cenários locais do Project Server 2013 habilitaram a integração usando serviços personalizados do WCF (Windows Communication Foundation).

  • Projeto PSI A classe Project do PSI é preterida. Para todo o novo desenvolvimento, use o CSOM do Projeto. Os aplicativos do Project Server 2013 que usam o Project PSI continuarão funcionando, mas Project Online aplicativos precisarão substituir todos os métodos PSI da classe Project por seus métodos CSOM equivalentes.

  • PSI do Plano de Recursos O PSI do Plano de Recursos está preterido. Ele continuará com suporte para o desenvolvimento do Project 2013, mas não terá suporte em versões futuras.

  • Interface ASMX para o PSI O PSI inclui interfaces duplicadas para o desenvolvimento de extensões locais do Project Server. A interface dos serviços Web ASMX foi introduzida com a primeira implementação do PSI no Office Project Server 2007. O Project Server 2010 adicionou a interface de serviços do WCF, em que o modelo de objeto essencialmente duplica os serviços Web ASMX. Embora o Project Server 2013 continue a dar suporte ao ASMX e ao WCF, novas soluções que exigem o PSI devem usar os serviços WCF. Se possível, novas soluções devem ser escritas usando o CSOM.

    Os serviços Web ASMX do PSI são preteridos no Project Server 2013. Para funcionar em versões futuras do Project Server, as soluções que usam os serviços Web ASMX devem ser reescritas para usar os serviços WCF ou o CSOM. Para obter mais informações, confira a seção Atualizar aplicativos com as APIs do Project Server na programação do Project Server.

  • Provedor de Link de Objeto (OLP) Nas versões anteriores do Project Server, o serviço ObjectLinkProvider no PSI (consulte WebSvcObjectLinkProvider fornece uma maneira de gerenciar links de objeto Web entre tarefas de projeto corporativo e listas especializadas do SharePoint no site do projeto para problemas, riscos, entregas e documentos. No Project Server 2013, o OLP é preterido.

    Você pode usar a classe RelatedItemManager no CSOM do SharePoint para criar, ler e excluir links de objeto Web entre itens na lista de tarefas e as outras listas em um site de projeto. Por exemplo, para adicionar um link de um item de tarefa a um problema, você pode usar o método AddSingleLink ou um dos dois métodos semelhantes, AddSingleLinkFromUrl ou AddSingleLinkToUrl. A classe RelatedItemManager também inclui métodos para excluir um link de objeto Web e ler itens relacionados. Para a classe equivalente no JSOM (o modelo de objeto JavaScript), consulte SP. Objeto RelatedItemManager (sp.js).

    Recomendamos que você use o CSOM do SharePoint para criar aplicativos do tipo OLP para uma instalação local do Project Server 2013 e para Project Online. O namespace do Microsoft.SharePoint não inclui uma classe RelatedItemManager ****.

  • Permissões personalizadas Foram suportadas permissões de segurança personalizadas para acessar recursos ou extensões específicos do Project Server no Office Project Server 2007, em que um artigo do SDK explicava como criá-los modificando diretamente o banco de dados Publicado. No Project Server 2010, as permissões personalizadas ainda funcionam, mas são preteridas. No Project Server 2013, as permissões personalizadas não funcionam com o modo de permissão padrão do SharePoint para instalações locais. Para o modo de permissão do Projeto, há suporte para permissões personalizadas. Com Project Online, o acesso direto ao banco de dados não é possível.

  • Representação A representação em aplicativos baseados em PSI, em que o usuário de um aplicativo pode assumir as permissões de segurança de um usuário diferente do Project Server, é preterida no Project Server 2013. Conforme indicado anteriormente, uma instalação do Project Server 2013 local padrão usa o modo de permissão do SharePoint, que não permite representação nos grupos de segurança do Project Server. Para obter mais informações, confira Autenticação, autorização e segurança no SharePoint 2013.

    Aplicativos de status são extensões típicas que podem ter usado representação em versões anteriores do Project Server. O Project Server 2010 introduziu o método ReadStatusForResource e o método SubmitStatusForResource no PSI, juntamente com a permissão global StatusBrokerPermission, que eliminou a necessidade de representação para ler e atualizar status em nome de outro usuário. O CSOM no Project Server 2013 usa o PSI subjacente para habilitar de forma transparente extensões de status e pode ser usado para instalações locais ou Project Online.

  • Relatórios de extensões de banco de dados Adicionar tabelas e exibições personalizadas ao banco de dados Reporting é uma prática comum com versões anteriores do Project Server. Como o Project Server 2013 combina os quatro bancos de dados de versões anteriores em um banco de dados, as atualizações não transferem tabelas, exibições ou SPROCs personalizados para as tabelas de relatórios no banco de dados Project Server 2013.

    Recomendamos que você use SQL Azure ou um banco de dados SQL Server separado para tabelas e exibições de relatórios personalizados, em que você pode gerenciar backups e atualizações de banco de dados. Para Project Online, isso é necessário.

  • Relatórios As tabelas e exibições de relatórios locais no banco de dados do Project Server e nos cubos OLAP não são preteridos e permanecem totalmente compatíveis. No entanto, as tabelas e exibições de relatórios (o banco de dados Reporting em versões anteriores do Project Server) não estão acessíveis em Project Online. Da mesma forma, os cubos OLAP estão disponíveis apenas com instalações locais do Project Server 2013. Para relatar aplicativos com Project Online, você pode usar o serviço ProjectData por meio de consultas REST com o protocolo OData.

  • Guia do Projeto O Guia do Projeto é um recurso padrão nos aplicativos de área de trabalho do Office Project 2007, em que o conteúdo HTML e JavaScript em um painel de tarefas fornece diretrizes interativas para criar e gerenciar projetos. No Project 2010, o Guia do Projeto não está disponível em uma instalação padrão, mas pode ser habilitado por meio de VBA ou de um suplemento VSTO. O download do SDK do Project 2010 inclui os arquivos modificados do Project Guide.

    O modelo de objeto VBA e o modelo de objeto Microsoft.Office.Interop.MSProject no Project 2013 ainda incluem os 22 membros da classe Application e a classe Project que podem gerenciar o Project Guide. No entanto, os aplicativos do painel de tarefas do Project 2013 podem entrar em conflito com ações em um painel de tarefas do Project Guide e o conteúdo do Project Guide não pode ser facilmente distribuído ou vendido na Office Store. Recomendamos fortemente que você desenvolva soluções de painel de tarefas do Project com suplementos do Office, não conteúdo personalizado do Project Guide. Para obter mais informações sobre o Guia do Projeto, consulte a Documentação do SDK do Project 2010.

Comparando o Project Server local com Project Online

Para ajudar você a decidir se deve usar o Project Server local ou Project Online e quais tipos de extensões você pode desenvolver em ambos os casos, a Tabela 2 compara os recursos extensíveis de uma instalação local do Project Server 2013 com Project Online. A Tabela 2 não inclui diferenças na implantação, administração ou uso. Para obter mais informações sobre Project Online e o Project Server 2013, consulte Project 2013 para desenvolvedores e Project Online.

Tabela 2. Extensibilidade do Project Server local e Project Online

Recurso Project Server local Project Online
Programação
Aplicativos baseados em CSOM; modelo de programação consistente
- Bibliotecas de clientes .NET, Silverlight e Windows Phone
- Biblioteca JavaScript para páginas personalizadas, Web Parts e extensões de faixa de opções
- Protocolos OData e REST

Aplicativos baseados em PSI; modelo de programação complexo, também pode criar aplicativos para administração, análise de portfólio, notificações, segurança do modo project, sistema de filas e outras áreas

Extensões psi

Permissões personalizadas com segurança do modo project (preterido)

Representação com o PSI (preterido)

Código de confiança total; instalar extensões no farm do SharePoint
Aplicativos baseados em CSOM; modelo de programação consistente
- Bibliotecas de clientes .NET, Silverlight e Windows Phone
- Biblioteca JavaScript para páginas personalizadas, Web Parts e extensões de faixa de opções
- Protocolos OData e REST

Pode usar o PSI, mas não há suporte: sem conexões OAuth e sem serviço para serviço

Nenhuma extensão da API do CSOM

Sem permissões personalizadas

Nenhuma representação

Nenhum código de confiança total
Bancos de dados personalizados
- SQL Azure
- SQL Server (não há suporte para modificação de tabelas e exibições de relatórios no banco de dados do Project Server)
- SQL Azure
- SQL Server (não há suporte para modificação de tabelas e exibições de relatórios no banco de dados do Project Server)
Relatórios
- Serviço ProjectData ; Protocolos OData e REST
- Relatórios de tabelas e exibições no banco de dados do Project Server
- Banco de dados OLAP
- Serviço ProjectData ; Protocolos OData e REST
Manipuladores de eventos
– Receptores de eventos remotos, acessíveis por meio de pontos de extremidade WCF
– Manipuladores de eventos de confiança total, instalados no farm do SharePoint
– Receptores de eventos remotos, acessíveis por meio de pontos de extremidade WCF
Fluxos de trabalho
Fluxos de trabalho declarativos, criados com o SharePoint Designer 2013
- Usar somente em uma instância específica do Project Web App
- Pode importar um design de fluxo de trabalho do Visio 2013
- Pode importar e usar ações personalizadas

Fluxos de trabalho declarativos, criados com o Visual Studio 2012
- Criar um aplicativo que possa incluir fluxos de trabalho
- Criar um pacote de solução do SharePoint (.wsp) que pode incluir fluxos de trabalho
- Criar modelos de fluxo de trabalho para reutilização
– Criar e usar ações personalizadas

Pode usar fluxos de trabalho compilados herdados, criados com o WF3.5 (recomendamos a atualização para o fluxo de trabalho declarativo do WF4)
Fluxos de trabalho declarativos, criados com o SharePoint Designer 2013
- Usar somente em uma instância específica do Project Web App
- Pode importar um design de fluxo de trabalho do Visio 2013
- Pode importar e usar ações personalizadas

Fluxos de trabalho declarativos, criados com o Visual Studio 2012
- Criar um aplicativo que possa incluir fluxos de trabalho
- Criar um pacote de solução do SharePoint (.wsp) que pode incluir fluxos de trabalho
- Criar modelos de fluxo de trabalho para reutilização
– Criar e usar ações personalizadas
Distribuição
- Office Store (para aplicativos baseados em CSOM)
– Catálogo de aplicativos privados no SharePoint
- Compartilhamento de arquivos intranet
– Office Store
– Catálogo de aplicativos privados no SharePoint

Conclusão

O Project Server 2013 fornece uma riqueza de novos recursos e cenários de desenvolvimento que parceiros e clientes podem usar para adaptar e estender os recursos e a utilidade do Project Server em grandes empresas e em pequenas organizações. Você pode usar a infraestrutura do Office 2013 e do SharePoint 2013 para ajudar a criar e distribuir aplicativos para o Project 2013 que podem estender consideravelmente a comercialização e o uso de aplicativos personalizados. Alguns recursos de extensibilidade e práticas de versões anteriores são preteridos no Project 2013, particularmente os serviços Web ASMX do PSI e recursos que envolvem representação ou alterações diretas de banco de dados, que não podem ser usados com Project Online.

A introdução do CSOM permite o acesso programático a Project Online para uma ampla variedade de dispositivos e usando JavaScript em aplicativos Web. O CSOM fornece um modelo de programação mais consistente em comparação com o PSI. Os dados do Project Server podem ser acessados de muitas maneiras mais do que em versões anteriores, inclusive por meio do serviço OData online e por meio de pontos de extremidade REST para relatar dados no banco de dados project. Os relatórios existentes ainda funcionam da mesma forma para uso local; novos relatórios têm mais flexibilidade.

Os Suplementos do Office fornecem um novo caminho para vender soluções e integrar Project Standard 2013 com conteúdo da Web e outros produtos do Office 2013. Você também pode criar novas maneiras de integrar Project Professional 2013 com dados do Project Server e listas do SharePoint por meio do painel de tarefas Suplementos do Office.

Para obter mais informações sobre como desenvolver aplicativos e usar os recursos de programação e o CSOM do SharePoint Server 2013, consulte SharePoint para desenvolvedores e Office para desenvolvedores.

Confira também