Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os recursos de extensibilidade no Project Server 2013 funcionam com suplementos para o Project Online e com instalações locais. Os novos recursos incluem um modelo de objeto do lado do cliente (CSOM), 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 mais também sobre recursos preteridos que não devem ser usados para novos desenvolvimentos.
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 modelo de objeto do lado do cliente (CSOM) que é refatorado e simplificado a partir da PSI (Project Server Interface) e inclui uma biblioteca JavaScript e bibliotecas do .NET Framework 4 para aplicativos do Windows, Windows Phone 8 e Microsoft Silverlight. O CSOM foi projetado para desenvolvimento do 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. O Project Professional 2013 pode se integrar aos dados de relatório do Project Server, listas de tarefas do SharePoint e outro conteúdo externo usando o modelo de extensibilidade dos suplementos do Office para painéis de tarefas. O Project Standard 2013 pode usar suplementos do painel de tarefas para integração com conteúdo externo geral.
Para obter diagramas e mais informações sobre as principais alterações no Project Server 2013, consulte Arquitetura do Project Server 2013.
Observação
O Project Server 2013 foi criado na plataforma Servidor do SharePoint 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 no SharePoint, Web Parts, desenvolvimento com outros recursos do SharePoint e documentação de Suplementos do Office, consulte Suplementos do SharePoint, Suplementos do Office e visão geral de desenvolvimento do SharePoint 2013.
Principais novos recursos do Project 2013
Os novos recursos do Project Standard 2013 e do Project Professional 2013 incluem uma interface do usuário aprimorada que corresponde a outros aplicativos do Office 2013 e oferece suporte à interface do usuário de estilo moderno no Windows 8, integração com objetos de arte do Office para relatórios, relatórios de explosão detalhada e novos recursos de programação para relatórios. O Project Professional 2013 permite o compartilhamento mais amplo e a sincronização de projetos no Servidor do SharePoint 2013, juntamente com os suplementos do painel de tarefas que também são implementados em outros aplicativos do Office 2013, como Word, Excel e Outlook.
Há muitos recursos novos no Project Server 2013. Alguns não têm uma história de programação importante, como a nova 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 quadros de horários aprimorados, facilitam a interação de desenvolvedores terceirizados com quadros de horários e status por meio da PSI (Project Server Interface).
A adição do Project Online e da Office Store (https://office.microsoft.com/store) para os suplementos do Project são alterações de longo alcance, onde o Project Server é acessível por meio do Microsoft Azure. O acesso baseado em nuvem ao Project Server usa um modelo de objeto do lado do cliente (CSOM) para o desenvolvimento de suplementos com o Microsoft .NET Framework, Microsoft Silverlight, Windows Phone e aplicativos Web que usam JavaScript. Um requisito do Project Online é que os quatro bancos de dados do Project Server das 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, quadros de horários e gerenciamento de projetos. Os fluxos de trabalho do Project Server foram recriados com a versão 4 do Windows Workflow Foundation (WF4). O uso do .NET Framework 4 e do WCF (Windows Communication Foundation) 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 mudam 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 suplementos nativamente para os produtos do Office 2013. O Project Server 2013 requer o Visual Studio para habilitar 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 personalizados, estágios, fases e tipos de projetos corporativos 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 a comercialização de software foram revolucionadas 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. Normalmente, um suplemento é um programa interativo e independente que executa um pequeno número de tarefas relacionadas. Um suplemento do Project pode ser um suplemento do painel de tarefas para os clientes do Project Standard 2013 ou do Project Standard 2013, ou um suplemento para o Project Server 2013 ou o Project Online.
Para obter informações sobre suplementos para os clientes da área de trabalho do Project, consulte Suplementos do painel de tarefas no Project. Para obter um exemplo do Project Server 2013, consulte Criar um suplemento do Project Server hospedado no 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 o Project Online.
Um suplemento para o Project Server 2013 pode funcionar tanto com uma instalação local quanto com o 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 é feito por meio do CSOM, não do PSI. O armazenamento de dados pode ser baseado em nuvem, como no SQL Azure, externo, como por meio do BCS (Serviços Corporativos de Conectividade) da Microsoft, interno com um banco de dados local ou misto.
Segurança do suplemento
Em geral, as ações executadas por um suplemento são executadas em nome do usuário que executa o suplemento; Você não usa representação explicitamente nem 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 onde você pode definir o escopo da solicitação de permissão. Por exemplo, para criar um suplemento que permite que os gerentes de projeto atualizem seus projetos, na guia Permissões do painel AppManifest.xml designer, selecione Vários Projetos para o escopo e Gravar para a permissão. Se o usuário do suplemento tiver permissões de gerente de projeto, ele poderá executar o suplemento para os 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 |
Ler, gravar (requer permissões de gerente de projeto 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 |
Ler, gravar (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 da Empresa |
Leitura, gravação (requer permissões do gerenciador de recursos.) |
|
Statusing |
SubmitStatus (requer permissão para enviar o status dos seus projetos.) |
|
Relatórios |
Leitura (Requer permissão para fazer logon no Project Server.) |
|
Fluxo de trabalho |
Elevar (Requer permissão para executar fluxos de trabalho. O suplemento é executado com permissões elevadas, para permitir transições de estágio em estágio em um fluxo de trabalho. Lógica de negócios nas transições de estágio de controles de suplemento.) |
Observação
O Project Server 2013 e o Project Online não usam o modelo de autenticação somente de aplicativo no SharePoint 2013 (consulte 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 Servidor do SharePoint 2013 e do Office 2013. Para obter informações sobre o escopo de solicitação de permissão para outros Suplementos do SharePoint, consulte Permissões de suplemento no SharePoint 2013.
Integrando com o Servidor do SharePoint
Muitos recursos do Project Web App exigem a nova infraestrutura no Servidor do SharePoint 2013, como OAuth e autenticação baseada em declarações, autorização e permissões do Project Server 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 do Project pode ser associado a qualquer conjunto de sites em um farm do SharePoint. A sincronização do projeto pode ser feita com uma lista de tarefas do SharePoint, em que o SharePoint mantém o projeto. Um projeto corporativo também pode ser sincronizado com uma lista de tarefas do SharePoint, em que o Project Server mantém controle total. Para diagramas de arquitetura e uma explicação sobre a sincronização do projeto, consulte Arquitetura do Project Server 2013.
Há muitos recursos novos no Servidor do SharePoint 2013. Para obter mais informações, consulte SharePoint para desenvolvedores.
Integração com fluxos de trabalho
Os fluxos de trabalho são um recurso central do gerenciamento de portfólio de projetos. O ciclo de vida de um projeto pode incluir processos de longa duração que abrangem várias fases. As fases de governança incluem propostas de projetos, 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 de fluxo de trabalho do SharePoint com 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 Propostas, onde os estágios são definidos no Project Web App.
Figura 1. Usando o SharePoint Designer para adicionar um estágio a um fluxo de trabalho para o Project Web App
Você cria um fluxo de trabalho declarativo adicionando estágios de fluxo de trabalho, ações, condições e outros elementos 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 em tempo de execução. Os fluxos de trabalho declarativos podem ser executados no Project Server 2013 local ou no 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 tipo de projeto corporativo (EPT). O EPT deve ser para um projeto corporativo, em que o Project Server mantenha 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. As chamadas de fluxo de trabalho para o Project Server, por exemplo, para ler um valor de campo personalizado para decidir qual ramificação seguir, são feitas em nome do gerente de projeto. Para evitar que o gerente de projeto crie um fluxo de trabalho que avance automaticamente para o próximo estágio, a chamada para passar para o próximo estágio do fluxo de trabalho é executada como o autor do fluxo de trabalho (o administrador). Por outro lado, os usuários de fluxos de trabalho herdados do Project Server 2010 fazem chamadas representadas por meio da conta de usuário do proxy de fluxo de trabalho para obter acesso de administrador em todo o fluxo de trabalho.
Embora o Project Server 2013 local possa usar fluxos de trabalho compilados baseados em WF3.5, recomendamos que você atualize fluxos de trabalho herdados para fluxos de trabalho declarativos baseados em WF4. A tecnologia mais recente é mais escalável e robusta. Analistas de negócios e equipe de PMO podem criar ou atualizar designs 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. A autenticação do Project Online será feita com o OAuth usando um Windows Live ID, não autenticação do Project Server Forms ou autenticação do Windows.
A seguir estão os princípios e 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 por nome, em vez de exigir muitos GUIDs, parâmetros changeXml ou passar 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 PSI Statusing.SubmitStatus para o usuário ou pelo método SubmitStatusForResource para outros recursos.
O CSOM pode ser acessado por meio de um serviço WCF (Client.svc), em vez dos 22 serviços públicos do PSI.
A inicialização do CSOM do Project Server é feita diretamente por meio da classe ProjectContext com a URL do Project Web App, não usando uma referência WCF ou assembly de proxy.
O CSOM implementa várias bibliotecas e interfaces de cliente, que são compatíveis com a infraestrutura interna do CSOM do SharePoint. As bibliotecas e interfaces de cliente incluem o seguinte:
Biblioteca de cliente do Microsoft .NET no assembly Microsoft.ProjectServer.Client.dll
Biblioteca do 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
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 da PSI e de outros assemblies do Project Server, como o Microsoft.Office.Project.Server.Library.dll.
A funcionalidade adicional do CSOM do Project Server 2013 pode ser considerada para atualizações cumulativas e service packs, com base em solicitações de parceiros do Project Server e da comunidade de desenvolvedores.
Observação
O CSOM é a interface preferencial para desenvolvedores de terceiros do Project Server. 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 Project 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 de relatórios
Os quatro bancos de dados no Project Server 2010 são combinados em um único banco de dados do Project no Project Server 2013. O nome padrão do banco de dados do Project é ProjectService. As tabelas e exibições de relatórios mantêm seus nomes anteriores, e as tabelas e exibições dos bancos de dados de Rascunho, Publicado e de Arquivo têm os prefixos draft, pube ver no banco de dados ProjectService. Por exemplo, a tabela de projetos publicados é pub. MSP_PROJECTS.
Importante
O acesso direto não é compatível com as tabelas e modos de exibição de rascunho (draft prefixo), publicado (pub) e arquivo morto (ver). Os relatórios devem usar apenas as tabelas e visualizações de relatórios, que têm o prefixo dbo. Por exemplo, o valor de erro dbo. MSP_EpmProject tabela inclui a lista de projetos na instância do Project Web App.
Não há nada que impeça ativamente que você use 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 do Project Professional, as tabelas de dados publicados e de rascunho e 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 os bancos de dados do Project Server ou corromper os caches do lado do cliente do Project Professional usando o acesso direto para alterar dados, esteja 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. O Project Online não oferece 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 ProjectData - Referência do serviço OData do Project.
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, onde 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 origem.
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 DADOS, selecione Do feed de dados OData no menu suspenso De Outras Fontes . Na caixa de diálogo Assistente para Conexões de Dados , digite https://ServerName/ProjectServerName/_api/ProjectData/ o 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 e colunas da tabela dinâmica que você deseja exibir.
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 no 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 prefixo draft, pub, ou ver são para uso interno apenas do Project Server e não são para uso de relatório. Por exemplo, o rascunho. MSP_TASKS mesa e o pub. MSP_PROJECTS_WORKING_VIEW exibição não estão documentadas e são apenas para uso interno.
Observação
Você pode estender os relatórios locais adicionando tabelas, exibições, campos e procedimentos armazenados em um banco de dados separado. Você não deve modificar as tabelas de relatórios e exibições existentes no banco de dados do Project Server.
As tabelas, exibições e campos de relatórios no banco de dados do 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 XML OData para o serviço ProjectData , consulte ProjectData - Referência do serviço OData do Project. As consultas das tabelas de relatórios e exibições que foram criadas para o Project Server 2010 funcionarão, na maioria dos casos, com o banco de dados do Project no Project Server 2013. Os usuários locais podem acessar os cubos OLAP do Project Server no 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
O Project Standard 2013 e o Project Professional 2013 dão suporte a suplementos de painel de tarefas, 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 de 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 modos de exibição como o gráfico de Gantt. Os suplementos do painel de tarefas para o Project também podem implementar manipuladores de eventos para eventos alterados de tarefa, recurso ou seleção de exibição.
A Figura 2 mostra o suplemento do painel de tarefas Olá ProjectData que consulta o serviço ProjectData e compara os dados do projeto atual com as médias de todos os projetos. O download do SDK do Project 2013 inclui o código-fonte completo do suplemento.
Figura 2. Um suplemento do painel de tarefas no Project Professional pode acessar dados no Project Server
Observação
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 no Project Professional podem dar suporte a Web Parts criadas para o Project Server 2013, para que os desenvolvedores possam criar uma extensão uma vez que seja executada com o Project Web App e o Project Professional. Os suplementos do painel de tarefas gerais desenvolvidos para outros produtos do Office 2013 também podem ser usados com o Project Standard 2013 e o Project Professional 2013. Para obter mais informações, consulte Suplementos do painel de tarefas do Project.
Receptores de eventos do Project Server
Pode haver vários servidores do Project Web App (também chamados de servidores front-end da Web ou WFEs) em um farm do SharePoint que inclui o Aplicativo de Serviço do Project 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. O Project Online pode usar somente 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 de Configurações do Project Web App. No aplicativo Administração Central do SharePoint, escolha Configurações Gerais do Aplicativo, escolha Gerenciar em Configurações do PWA e, em seguida, escolha a instância na lista suspensa Instância do Project Web App 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, os 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 o Project Online e o SharePoint Online, você pode adicionar ou remover receptores de eventos remotos usando um pacote de aplicativos 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 local do Project Server é quase o mesmo que o processo descrito no tópico Criar um manipulador de eventos do Project Server e registrar um evento para o Project Server 2010. A diferença é que a página Novo manipulador de eventos tem opções adicionais. Por exemplo, escolha Project Creating (Criação de projeto ) na lista Events (Eventos ) e, em seguida, escolha NEW EVENT HANDLER (Novo manipulador de eventos). Na página New Event handler, os únicos dois campos obrigatórios são Name e Order (veja a 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/nome do assembly e a URL do ponto de extremidade, o Project Server chamará somente 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 o outro é um receptor de eventos remoto, e o valor Order é o mesmo para ambos, o Project Server ignorará o receptor de eventos remoto.
Figura 3. Adicionando um manipulador de eventos local ou um receptor de evento remoto
Se você precisar de acesso aos 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 ; desenvolvimento com o CSOM não requer manipulação de conjuntos de dados. Para desenvolver receptores de eventos remotos para o 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 o manipulador de eventos completamente 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ê adicionar 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 com problema e reiniciar o serviço Eventos.
Observação
Para uma instalação local do Project Server, recomendamos que você migre 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 pela manutenção do Serviço de Eventos do Project Server.
Para obter informações gerais sobre eventos, consulte Manipulando eventos em aplicativos para SharePoint.
Recursos preteridos
Observação
Para obter informações sobre recursos e APIs preteridos ou removidos no Project Server 2016 Preview, consulte O que foi preterido ou removido no Project Server 2016 Preview.
Os recursos preteridos ainda estão disponíveis no Project 2013 para algumas soluções, mas não devem ser usados para novos desenvolvimentos. A maioria dos recursos e práticas a seguir não funciona com o 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 a funcionar 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 deverão ser testadas minuciosamente antes da implantação e você deverá modificá-las para usar os recursos com suporte assim que possível. Para obter informações sobre como configurar a segurança local do Project Server 2013 para o modo de permissão do Project, consulte a seção Modo de Permissão do SharePoint em Novidades para profissionais de TI no Project Server 2013.
Oscenários de extensão PSI de extensões estão obsoletos 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 Windows Communication Foundation (WCF).
Projeto PSI A classe Project da PSI foi preterida. Para todos os novos desenvolvimentos, use o Projeto CSOM. Os aplicativos do Project Server 2013 que usam o Project PSI continuarão funcionando, mas os aplicativos do Project Online precisarão substituir todos os métodos PSI da classe Project por seus métodos CSOM equivalentes.
PSI do plano de recursos A PSI do plano de recursos foi preterida. Ele continuará a ter suporte para o desenvolvimento do Project 2013, mas não terá suporte em versões futuras.
Interface ASMX para o PSI A PSI inclui interfaces duplicadas para o desenvolvimento de extensões locais do Project Server. A interface de 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 WCF, em que o modelo de objeto essencialmente duplica os serviços Web ASMX. Embora o Project Server 2013 continue a oferecer suporte ao ASMX e ao WCF, as novas soluções que exigem o PSI devem usar os serviços do WCF. Se possível, novas soluções devem ser escritas usando o CSOM.
Os serviços Web ASMX da PSI foram 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, consulte a seção Atualizar aplicativos com as APIs do Project Server na programabilidade do Project Server.
Provedor de Link de Objeto (OLP) Em versões anteriores do Project Server, o serviço ObjectLinkProvider na PSI (consulte WebSvcObjectLinkProvider fornece uma maneira de gerenciar links de objetos da Web entre tarefas de projeto da empresa e listas especializadas do SharePoint no site do projeto para problemas, riscos, entregas e documentos. No Project Server 2013, o OLP foi preterido.
Você pode usar a classe RelatedItemManager no CSOM do SharePoint para criar, ler e excluir links de objeto da 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 da 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 o Project Online. O namespace Microsoft.SharePoint não inclui uma classe **** RelatedItemManager .
Permissões personalizadas Permissões de segurança personalizadas para acessar recursos ou extensões específicos do Project Server tinham suporte no Office Project Server 2007, onde 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 foram 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 Project, há suporte para permissões personalizadas. Com o 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, foi preterida no Project Server 2013. Como indicado anteriormente, uma instalação local padrão do Project Server 2013 usa o modo de permissão do SharePoint, que não permite a representação nos grupos de segurança do Project Server. Para obter mais informações, consulte 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 o status em nome de outro usuário. O CSOM no Project Server 2013 usa o PSI subjacente para habilitar transparentemente as extensões de status e pode ser usado para instalações locais ou do Project Online.
Extensões de banco de dados de relatório Adicionar tabelas e exibições personalizadas ao banco de dados de relatório é 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 personalizadas para as tabelas de relatórios no banco de dados do Project Server 2013.
Recomendamos que você use o SQL Azure ou um banco de dados do SQL Server separado para tabelas e exibições de relatórios personalizadas, onde você pode gerenciar backups e atualizações de banco de dados. Para o Project Online, isso é obrigatório.
Relatórios As tabelas e exibições de relatórios locais no banco de dados do Project Server e os cubos OLAP não foram preteridos e permanecem com suporte total. No entanto, as tabelas e exibições de relatórios (o banco de dados de relatórios em versões anteriores do Project Server) não estão acessíveis no Project Online. Da mesma forma, os cubos OLAP estão disponíveis apenas com instalações locais do Project Server 2013. Para aplicativos de relatório com o 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 da área de trabalho do Office Project 2007, em que o conteúdo HTML e JavaScript em um painel de tarefas fornece orientação interativa para a criação e o gerenciamento de 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 do VBA ou de um suplemento VSTO. O download do SDK do Project 2010 inclui os arquivos do Guia do Projeto modificados.
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 da classe Project que podem gerenciar o Guia do Projeto. No entanto, os aplicativos do painel de tarefas do Project 2013 podem entrar em conflito com ações em um painel de tarefas do Guia do Projeto e o conteúdo do Guia do Projeto não pode ser facilmente distribuído ou vendido na Office Store. É altamente recomendável que você desenvolva soluções de painel de tarefas do Project com Suplementos do Office, não com conteúdo personalizado do Guia do Project. 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 o Project Online
Para ajudá-lo a decidir se usará o Project Server local ou o 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 o Project Online. A Tabela 2 não inclui diferenças na implantação, administração ou uso. Para obter mais informações sobre o Project Online e o Project Server 2013, consulte Project 2013 para desenvolvedores e o Project Online.
Tabela 2. Extensibilidade do Project Server local e do Project Online
| Recurso | Project Server local | Project Online |
|---|---|---|
|
Programação |
aplicativos baseados em CSOM; modelo de programação consistente - Bibliotecas de cliente .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 em modo de projeto, sistema de filas e outras áreas Extensões PSI Permissões personalizadas com a segurança do modo Projeto (preterida) 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 cliente .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 sem suporte: sem OAuth e sem conexões de serviço a serviço Nenhuma extensão da API CSOM Sem permissões personalizadas Sem usurpação de identidade 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 - Tabelas e exibições de relatórios 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 - Use 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 - Crie um aplicativo que possa incluir fluxos de trabalho - Crie um pacote de solução do SharePoint (.wsp) que possa incluir fluxos de trabalho - Crie 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 atualizar para o fluxo de trabalho declarativo WF4) |
Fluxos de trabalho declarativos, criados com o SharePoint Designer 2013 - Use 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 - Crie um aplicativo que possa incluir fluxos de trabalho - Crie um pacote de solução do SharePoint (.wsp) que possa incluir fluxos de trabalho - Crie 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 privado no SharePoint - Compartilhamento de arquivos da intranet |
- Office Store - Catálogo de aplicativos privado no SharePoint |
Conclusão
O Project Server 2013 oferece uma grande variedade 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 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 ampliar consideravelmente a comercialização e o uso de aplicativos personalizados. Alguns recursos e práticas de extensibilidade de versões anteriores foram preteridos no Project 2013, particularmente os serviços Web ASMX da PSI e recursos que envolvem representação ou alterações diretas no banco de dados, que não podem ser usados com o Project Online.
A introdução do CSOM permite o acesso programático ao 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 outras maneiras do que nas 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 do Project. Os relatórios existentes ainda funcionam da mesma maneira para uso local; Novos relatórios têm mais flexibilidade.
Os suplementos do Office fornecem um novo caminho para a venda de soluções e a integração do Project Standard 2013 com conteúdo da Web e outros produtos do Office 2013. Você também pode criar novas maneiras de integrar o 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 Servidor do SharePoint 2013, consulte SharePoint para desenvolvedores e Office para desenvolvedores.
Confira também
- Arquitetura do Project Server 2013
- Tarefas de programação do Project
- Modelo de objeto do cliente (CSOM) para o Project 2013
- ProjectData - referência do serviço OData do Project
- Suplementos do painel de tarefas para Project
- OData: Convenções de URI
- SharePoint para desenvolvedores
- Office para desenvolvedores
- Manipulação de eventos em aplicativos para SharePoint
- AppSource
- Project Online