Ajustar el rendimiento de Project Online

Con el lanzamiento de Project Online hace unos años, las organizaciones de todos los tamaños han podido usar el amplio conjunto de funcionalidades de Administración de cartera de proyectos (PPM) de Microsoft dentro de la comodidad de nuestra infraestructura en la nube Office 365.

Aunque una de las ventajas obvias de usar un servicio basado en la nube es evitar tener que lidiar con la implementación, la configuración y el ajuste de hardware y software, todavía hay algunos pasos que puede seguir para asegurarse de que su organización obtiene el mejor rendimiento de Project Online.

Project Online ofrece muchas opciones de configuración y personalización, pero las personalizaciones pueden tener un impacto en el rendimiento. En este artículo se resalta el impacto en el rendimiento y los inconvenientes de algunas de las configuraciones de Project Online más comunes, por lo que puede tomar decisiones informadas a la hora de personalizar y configurar Project Online.

Este artículo forma parte del plan de red y el ajuste del rendimiento para Office 365 proyecto.

procedimientos recomendados de Office 365 y SharePoint Online

Hay una gran cantidad de información sobre el planeamiento de la red y el ajuste del rendimiento para SharePoint Online y Office 365. Toda esta información es relevante para Project Online clientes y debe consultarse además de los siguientes procedimientos recomendados específicos para Project Online.

Project Online configuración y personalización

Muchos elementos de un sitio de Project Web App se pueden configurar y personalizar, desde la configuración administrativa hasta los permisos, y desde la configuración de colaboración hasta la apariencia. Echemos un vistazo a la configuración que puede afectar potencialmente al rendimiento general del sitio de Project Web App.

Cubriremos:

  • Modos de permisos de seguridad

  • Tipos de proyectos empresariales

    • Configuración del sitio del proyecto

    • Mecanismos de sincronización entre Project Online y SharePoint Online

  • Sincronización del grupo de recursos de Active Directory

  • Personalización y apariencia de la interfaz de usuario

  • Páginas de detalles del proyecto (PDP) y flujos de trabajo

  • Control de eventos

  • OData e informes

  • cuota de Project Online

(Parte de esta información se aplica también a Project Server 2013 y Project Server 2016).

Modos de permiso: SharePoint o Project

Con Project Online y Project Server 2013, se introdujo un nuevo y simplificado modelo de permisos denominado modo de permisos de SharePoint, en lugar del modo de permisos de Proyecto heredado. La comparación entre ambos modos se puede encontrar en Technet.

De forma predeterminada, las nuevas instancias de Project Online se aprovisionan en modo de permisos de SharePoint y estamos seguros de que este modo abordará las necesidades de la gran mayoría de los clientes. Mediante este modo, puede administrar la autorización de usuario a través de grupos y permisos normales de SharePoint.

El modo de permisos de proyecto ofrece un alto grado de personalización, pero puede llegar a un precio en términos de rendimiento. Si crea cientos de categorías y se basa en gran medida en permisos dinámicos a través de la estructura de desglose de recursos (RBS), podría ralentizar la experiencia del usuario final para los usuarios que tienen acceso a una gran cantidad de contenido, como administradores y administradores de carteras.

Nota:

Al cambiar entre los modos de permisos de SharePoint y Project Server, se eliminan todas las configuraciones relacionadas con la seguridad. Si cambia del modo de permisos de SharePoint al modo de permisos clásico de Project Server, debe configurar manualmente la estructura de permisos de seguridad en Project Server 2013 y Project Server 2016. Al volver al modo de permisos de Project Server al modo de permisos de SharePoint, se elimina la información de permisos de seguridad de Project Server 2013 y Project Server 2016.

Recomendación:

Siempre que sea posible, mantenga el modo de permisos de SharePoint predeterminado para mejorar el rendimiento general. Si necesita usar el modo de permiso Proyecto, limite las personalizaciones tanto como sea posible.

Tipos de proyectos empresariales

Un tipo de proyecto empresarial (EPT) representa un contenedor que encapsula fases, fases, un único flujo de trabajo y páginas de detalles del proyecto (PDP).

Los EPT también le permiten definir:

  • Configuración del sitio del proyecto

  • Mecanismos de sincronización entre Project Online y SharePoint Online

Configuración del sitio del proyecto

Los sitios de proyecto se basan en la funcionalidad básica de SharePoint. La creación de sitios de proyecto no es un proceso ligero y decidir si su organización puede necesitar sitios de proyecto puede avanzar mucho en la mejora de la experiencia general del usuario final.

Muchas organizaciones usan Project Online para recopilar y evaluar las propuestas de proyecto antes de decidir qué proyectos financiar. Si los sitios de proyecto se establecen para crearse automáticamente la primera vez que se publica un proyecto, todas las propuestas de proyecto, incluso las que no realizan el corte, obtienen un sitio de proyecto. Estos sitios innecesarios tendrían que limpiarse manualmente después.

Un mejor enfoque, si decide usar sitios de proyecto, es permitir que el usuario elija cuándo crear su sitio de colaboración o, mejor aún, que lo cree un flujo de trabajo tan pronto como la propuesta del proyecto llegue a una puerta de fase determinada.

Actualmente , SharePoint Online limita el número de subsitios que se pueden crear para cada colección de sitios. Un EPT le permite definir en qué colección de sitios crear nuevos sitios de proyecto. Esto le permitirá crear un sitio de proyecto para cada proyecto, ya que puede abarcarlos entre varias colecciones de sitios.

Sitios de proyecto en colecciones de sitios de PWA.

Por ejemplo, si tiene una colección de sitios dedicada al departamento de TI, puede configurar el EPT de proyectos de TI para crear sitios de Project a partir de https://contoso.sharepoint.com/sites/IT .

Ubicación de creación del sitio del proyecto.

Recomendación:

Si su organización usa sitios de proyecto, seleccione la opción para crearlos a petición en lugar de automáticamente. Esto acelera la primera experiencia de publicación y evita la creación de sitios y contenido innecesarios.

Para cada EPT, puede configurar esta opción mediante:

  1. En Configuración de Project Web App, haga clic en Tipos de proyecto de empresa.

  2. Seleccione el EPT al que necesita cambiar la configuración.

  3. En la página configuración de EPT, en la sección Sitio del proyecto , seleccione Permitir que los usuarios elijan.

    Opciones de creación del sitio del proyecto.

    Cree sitios de proyecto en su propia colección de sitios mediante el EPT. Mantenga el número de sitios de proyecto en una colección de sitios por debajo de los límites de SharePoint Online SharePoint Online.

¿Qué sincronizas?

Project Online se ejecuta en SharePoint Online de la misma manera que Project Server se ejecuta sobre SharePoint Server. Como resultado, tenemos que mantener sincronizados un determinado número de componentes entre dos sistemas. Estas sincronizaciones pueden llevar mucho tiempo y, en función de sus necesidades empresariales, a veces pueden ser innecesarias. En este artículo se exploran todos estos diversos sistemas de sincronización para ayudarle a decidir cuáles necesita y cuáles puede desactivar de forma segura. Algunas de estas opciones ya están desactivadas de forma predeterminada.

En las secciones siguientes, se describe:

  • Sincronización de permisos de usuario para el sitio del proyecto

  • Sincronizar listas de tareas de SharePoint para proyectos empresariales

Sincronizar permisos de usuario

Los sitios de proyecto son áreas de trabajo en las que los equipos del proyecto pueden colaborar, cargar documentos y generar problemas. Cuando se activan los permisos de usuario de sincronización, cada vez que se concede permiso a una persona a un proyecto, se actualizan los permisos de sitio de Project correspondientes.

Esta sincronización se produce cada vez que se publica el proyecto. El inconveniente para la comodidad de la sincronización es el rendimiento, por ejemplo, cuantos más usuarios y sitios necesiten sincronizarse, más lenta será la operación, especialmente si publica, importa o crea varios proyectos (con sitios de Proyectos) o actualiza las pertenencias a grupos que requerirán una resincronización de los permisos del sitio del proyecto.

Para cada EPT, puede definir si los permisos de usuario de sincronización están activados.

Nota:

Si los sitios de proyecto se crean en una colección de sitios diferente de donde se encuentra el sitio de Project Web App (por ejemplo, https://contoso.sharepoint.com/sites/pwa es donde se encuentra Project Web App y el EPT crea sitios de proyecto en https://contoso.sharepoint.com/sites/IT), no se admiten los permisos de usuario de sincronización.

Recomendación:

Se recomienda encarecidamente deshabilitar la opción de sincronización de permisos del sitio de Project si se cumple lo siguiente en la implementación:

  • Tiene un gran número de recursos (>1000)

  • Tiene un gran número de proyectos que requieren un sitio de Project (>1000)

  • Tiene un gran número de recursos a los que se debe conceder acceso a la mayoría de los sitios de Project.

  • Los sitios de proyecto se crean fuera de la colección de sitios predeterminada (la sincronización está deshabilitada)

Estas son algunas opciones que se deben tener en cuenta para administrar los permisos del sitio de Project:

  • Si los equipos de proyecto tienen poca rotación, considere la posibilidad de desactivar la sincronización de permisos del sitio de Project para mejorar el rendimiento de Project Publish y Project Detail Pages. A continuación, tendría que conceder o quitar manualmente el permiso a los sitios de Project cada vez que alguien se una o deje un equipo de proyecto.

  • Si es necesario conceder acceso a todos los usuarios de PWA y se asigna a los permisos de grupo existentes, considere la posibilidad de configurar los sitios de Project para que hereden del sitio PWA primario.

  • Si el acceso al sitio se alinea con roles específicos, cree uno o varios grupos que se asignen a esos roles (posiblemente si tiene habilitada la sincronización de grupos, puede usar los mismos grupos) y conceder a esos grupos acceso al sitio de Project.

Para cada EPT, puede activar Sincronizar permisiones de usuario mediante:

  1. En Configuración de Project Web App, haga clic en Tipos de proyecto de empresa.

  2. Seleccione el EPT al que necesita cambiar la configuración.

  3. En la página Configuración de EPT, en la sección Sincronizar , seleccione Sincronización de permisos de usuario.

    Sincronización de permisos de usuario.

Sincronizar listas de tareas de SharePoint para proyectos empresariales

Sincronizar listas de tareas de SharePoint está desactivado de forma predeterminada para mejorar la velocidad de publicación de proyectos. Esto también ayuda a acelerar la transición entre las páginas de detalles del proyecto. Si los usuarios confían en la lista de tareas y su visualización de escala de tiempo en el sitio de Project, puede activar esta característica y comprobar si su impacto en el rendimiento de la publicación de proyectos es razonable.

Nota:

Si los sitios de proyecto se crean en una colección de sitios diferente de donde se encuentra el sitio de Project Web App (por ejemplo, https://contoso.sharepoint.com/sites/pwa es donde se encuentra Project Web App y el EPT crea sitios de proyecto en https://contoso.sharepoint.com/sites/IT), no se admite la sincronización de listas de tareas de SharePoint.

Recomendación

La opción Sincronizar listas de tareas de SharePoint estaba pensada para su uso con planes de proyecto pequeños. Si el proyecto tiene un gran número de tareas, sincronizarlas al publicarse tardará algún tiempo, ya que cada tarea debe actualizarse de una en una. Por ejemplo, un plan de proyecto de 500 tareas tarda varios minutos en sincronizarse con la lista de tareas de SharePoint. Aunque el trabajo de cola está en una correlación independiente y no bloquea el guardado y la edición del plan de proyecto, se recomienda no habilitar la opción Sincronizar listas de tareas de SharePoint. Se recomienda sincronizar solo proyectos con menos de 250 tareas.

Esta opción está desactivada de forma predeterminada. Active solo la sincronización de listas de tareas de SharePoint si los usuarios necesitan la característica para cada EPT. Para configurar esta opción:

  1. En Configuración de Project Web App, haga clic en Tipos de proyecto de empresa.

  2. Seleccione el EPT al que necesita cambiar la configuración.

  3. En la página Configuración de EPT, en la sección Sincronizar , seleccione Sincronizar listas de tareas de SharePoint.

    Sincronizar listas de tareas de SharePoint.

Sincronización del grupo de recursos de Active Directory

La sincronización del grupo de recursos de Active Directory por sí sola no tiene problemas de rendimiento concretos y puede importar miles de recursos en la instancia de Project Web App en cuestión de minutos. Sin embargo, su efecto descendente en otras partes del sistema puede afectar al rendimiento. El proceso principal que se debe vigilar es la sincronización de permisos de recursos mencionada anteriormente. Si hay una gran rotación en la pertenencia a grupos de Active Directory y esto requiere que sincronice el grupo de recursos a menudo, supervise los posibles efectos de bajada en los trabajos de sincronización de permisos relacionados.

Recomendación:

Limite la sincronización de Active Directory a grupos de recursos que realmente necesitan usar el sistema y supervise los posibles problemas de permisos después de la sincronización de grupos grandes. (Para configurar la sincronización del grupo de recursos empresariales de Active Directory, en Configuración de Project Web App, haga clic en Sincronización del grupo de recursos de Active Directory.

Personalizaciones de páginas y vistas de PWA

Personalizaciones de página

La plataforma de SharePoint ofrece excelentes funcionalidades de personalización con su infraestructura modular de elementos web y compatibilidad con páginas personalizadas. Al agregar logotipos, elementos web personalizados y nuevos temas, es posible que no tenga un impacto significativo en el rendimiento en una infraestructura local debido a las ventajas de la proximidad del servidor, la baja latencia y las redes de ancho de banda alto. Sin embargo, en un servicio en línea, la historia es diferente.

Al cargar un logotipo o gráfico con un tamaño de archivo grande, es posible que las páginas se ralenticen un poco en una implementación local, pero en línea, el rendimiento alcanzado en las cargas de página es sustancial.

El mismo principio se aplica cuando se agregan varios elementos web a una página. Puede ser tentador tener una página personalizada con varios elementos web, pero a menos que los usuarios realmente necesiten ver los datos en paralelo, es mejor tener páginas especializadas independientes que tenerlos todo en un solo lugar. Si los usuarios solo necesitan el contenido de un elemento web en la página, tendrán que esperar más tiempo para que la página se cargue y muestre los datos de todos los demás elementos web.

Recomendación:

Cuando personalice páginas, trate su sitio Project Online como cualquier sitio web de Internet normal y cree páginas ligeras tanto como sea posible.

Personalizaciones de vistas

Aquí de nuevo, la simplicidad es un largo camino para mejorar el rendimiento de carga de páginas. Las organizaciones pueden crear vistas personalizadas mediante varias páginas de Project Web App, incluidos el Centro de proyectos, el Centro de recursos, las tareas y los partes de horas.

Cuanto más contenido se muestre, más lenta será la representación de la página. Puede reducir el tiempo de carga de cada página en unos segundos si proporciona a los usuarios un mayor número de vistas sencillas y dirigidas en lugar de unas pocas vistas "todo en uno".

En los ejemplos siguientes, la segunda vista tarda un promedio de 2 a 3 segundos menos en cargarse que la primera.

Captura de pantalla de la vista personalizada del Centro de proyectos.

Captura de pantalla de la vista del Centro de proyectos.

Recomendación:

Al configurar vistas, ofrezca a los usuarios vistas especializadas sencillas para una navegación más rápida en lugar de una vista todo en uno compleja que cargaría datos innecesarios la mayor parte del tiempo.

Configuración de la vista de usuario

Centro de proyectos: Agrupar por con paquetes acumulativos

Los usuarios pueden configurar diferentes maneras de que la vista se represente en ellos, incluida la agrupación de datos por campos diferentes. Cuando se usa group by, los datos se pueden inscribir para los campos de agregación admitidos (por ejemplo, sumar costos o un campo personalizado). La computación de estos valores agregados solicita al servicio que cargue todos los valores para mostrar el total.

Ejemplo de datos agrupados por campos y enrollados para campos de agregación.

Recomendación:

A menos que el usuario necesite ver los valores acumulados, deshabilite la opción Acumulación en la cinta de opciones.

Opción rollup.

Centro de proyectos: Diagrama de Gantt

La parte del gráfico de la vista Diagrama de Gantt muestra cada proyecto como una barra de Gantt de resumen.

Recomendación:

A menos que el usuario necesite ver Gantt, deshabilite la opción Diagrama de Gantt en la cinta de opciones.

Opción Diagrama de Gantt.

Páginas y flujos de trabajo personalizados de detalles del proyecto

Además de la recomendación proporcionada anteriormente para el diseño de páginas, las páginas de detalles del proyecto (PDP) son particulares en que pueden desencadenar una actualización de todo el proyecto e iniciar acciones de flujo de trabajo, que pueden ser operaciones costosas en términos de rendimiento, en función de las personalizaciones.

Project Online y Project Server tienen dos procesos de actualización principales para la información del proyecto:

  • Novedades requerir un nuevo cálculo de programación (consulte la lista siguiente)

  • Campos no relacionados con la programación, como el nombre del proyecto, la descripción y el propietario.

Se recomienda evitar actualizar ambos tipos de datos en el mismo PDP para evitar desencadenar ambos procesos de actualización al mismo tiempo.

Esta es una lista de las acciones más comunes que requieren una actualización de programación.

  • Cambios en el calendario del proyecto

  • Cambios en los siguientes campos de fecha:

    • Fecha de comienzo

    • Fecha de finalización

    • Fecha de estado

    • Fecha actual

  • Cambios en los campos personalizados del proyecto

  • Si el proyecto tiene dependencias en las entregas

Una segunda manera de mejorar el rendimiento de PDP es reducir el número de elementos web y campos personalizados que se muestran en cada PDP. Si los procesos empresariales requieren actualizaciones frecuentes en el mismo conjunto de campos, cree un PDP dedicado con solo estos campos para mejorar la carga y ahorrar tiempo. Mostrar todos los campos personalizados en todo momento genera una gran sobrecarga innecesaria.

Recomendación:

Cree PDP especializados ligeros y evite mezclar actualizaciones relacionadas con la programación y no relacionadas con las programaciones.

Actualizaciones masivas de campos personalizados en flujos de trabajo con la nueva API REST

La actualización de los valores de campos personalizados del proyecto en un flujo de trabajo de uno en uno requiere una solicitud de servidor independiente mediante la acción Establecer campo de proyecto. Esto da como resultado un rendimiento reducido al actualizar una gran cantidad de campos personalizados al mismo tiempo en una red de alta latencia y ancho de banda bajo.

Para solucionar este problema, hay un método CSOM para actualizar campos personalizados de forma masiva. Este método requiere que pase un diccionario que contenga el nombre y los valores de todos los campos personalizados que desea actualizar.

API para aprovisionar sitios de proyecto a petición

Cada proyecto puede tener su propio sitio de SharePoint dedicado donde los miembros del equipo pueden colaborar, compartir documentos y plantear problemas. Estos sitios se pueden crear automáticamente en la primera publicación o creada manualmente por el administrador de proyectos a través de Project Pro o el administrador a través de la configuración de Project Web App, o simplemente se pueden deshabilitar.

Puede usar el método CreateProjectSite('') para decidir cuándo crear sus sitios de proyecto. Esto es especialmente útil para las organizaciones que quieren crear sus sitios solo después de que una propuesta de proyecto llegue a una fase específica en un flujo de trabajo predefinido, en lugar de en la primera publicación. Esto mejora significativamente el rendimiento de la creación de proyectos posponiendo la creación de sitios de Project.

Control de eventos

Los complementos pueden responder a los eventos que se generan en Project Online. Por ejemplo, un complemento puede realizar alguna actividad adicional después de crear un proyecto. Es posible que los usuarios tengan que esperar a que estos complementos completen el control de los eventos para poder seguir trabajando con Project Online.

Recomendación:

Project Online debe configurarse para controlar determinados eventos de forma asincrónica para minimizar la cantidad de tiempo que los usuarios tendrán que esperar. Para ello, pida al desarrollador de los complementos que use para asegurarse de que su código es capaz de controlar eventos After de forma asincrónica. Pueden ir a este artículo para obtener más información sobre las prácticas que pueden seguir para controlar estos eventos.

Si el desarrollador confirma que el complemento está listo para el cambio, debe habilitar la opción Activar el procesamiento asincrónico después del evento en la página Configuración de PWA .

  1. En la página Configuración de PWA , en la sección Directivas operativas , seleccione Configuración adicional del servidor.

  2. En la sección Control de eventos asincrónicos para Eventos posteriores , asegúrese de que activar el procesamiento asincrónico después de eventos está seleccionado.

    Control de eventos asincrónicos para la configuración de eventos after.

  3. Seleccione Guardar.

    A continuación, deberá probar las instancias para comprobar que todo funciona correctamente.

    Nota:

    El administrador de la colección de sitios solo puede ver y cambiar esta configuración.

OData e Informes

Servicio OData de ProjectData

Project Online tiene un servicio de informes de OData que proporciona una manera de crear informes o visualizaciones en los datos almacenados en el servicio. La API del servicio de informes de ProjectData OData se define aquí.

Las llamadas al servicio de informes OData de ProjectData se rigen por SharePoint Online. Revise el artículo Evite que se limite o bloquee en SharePoint Online para asegurarse de que las llamadas tienen menos probabilidades de verse limitadas y de implementar correctamente reintentos y retroceso exponencial de las recomendaciones.

Además, siguiendo las recomendaciones descritas en este documento se reducirá el número, la longitud y la frecuencia de las llamadas necesarias para recuperar datos. Si la limitación se produce a menudo, compruebe en toda la organización que varios departamentos podrían consultar los mismos datos o no seguir los procedimientos recomendados descritos en este artículo y que afectan a todos.

Informes con fase temporal

En Project Online puede elegir el nivel de granularidad que necesita para los datos de informes con fase temporal. Las opciones y el impacto de los niveles se documentan completamente en Configurar acumulación de datos de informes con fase temporal en Project Online. La elección de un nivel que genere la menor cantidad de datos para los escenarios permitirá que los datos sean visibles en el punto de conexión del servicio de informes de OData más rápido y reducirá la cantidad de tiempo que tardará en descargarse.

Lista de opciones en orden de rendimiento (de mayor a menor rendimiento correlacionando con la cantidad de datos generados):

  • Nunca

  • Períodos fiscales

  • Mensualmente

  • Semanal

  • Diario

Períodos fiscales tiene la gran ventaja sobre Mensual en que los datos de informes solo se mantienen para períodos fiscales definidos, mientras que Mensualmente conservará los datos durante toda la duración en todos los proyectos.

Mediante el servicio Project OData, puede extraer información de la instancia de Project Online para la generación de informes.

Recomendación:

Almacene la menor cantidad de datos con fase temporal que sea coherente con sus necesidades empresariales. No use Diariamente si tiene flujos de trabajo que esperan a que se complete la publicación. Diariamente puede tardar mucho tiempo en generar los datos necesarios, lo que hace que los flujos de trabajo esperen.

Consulta del servicio

Hay límites en el número de entidades que se pueden devolver en una consulta del servicio ProjectData OData. Como resultado, la consulta de una gran cantidad de datos requiere que se envíen varias solicitudes web al servicio, lo que agrega sobrecarga de red y latencia para cada solicitud.

Recomendación:

Evite realizar cargas de datos completas de "actualizar todo". Estas actualizaciones pueden afectar al rendimiento del sitio PWA, especialmente durante los tiempos de uso máximos, lo que conduce a la degradación general del rendimiento de las operaciones de usuario en PWA o limitación.

Realice acciones de actualización de Odata después de horas. Las decisiones para mantener informes reales en tiempo real o cerca de ellos también deben tener en cuenta los inconvenientes en el rendimiento para la experiencia del usuario en el sitio de PWA. Si existen requisitos de "actualizar todo", revise la sección "SQL Server Integration Services (SSIS): recomendado para grandes conjuntos de datos".

Para una instancia de Project Web App que contiene un gran número de entidades, como proyectos, asignaciones o tareas, debe limitar los datos devueltos de al menos una de las siguientes maneras. Si no limita los datos devueltos, la consulta puede superar los límites predeterminados y afectar al rendimiento del servidor.

  • Use siempre una opción url de $filter y $select para limitar los datos. Por ejemplo, la consulta siguiente filtra por fecha de inicio del proyecto y devuelve solo cuatro campos, en orden del nombre del proyecto:

    http://ServerName/ProjectServerName/_api/ProjectData/Projects?$filter=ProjectStartDate gt datetime'2012-01-01T00:00:00'&$orderby=ProjectName&$select=ProjectName,ProjectStartDate,ProjectFinishDate,ProjectCost
    
  • Evite los campos personalizados que son búsquedas de varios valores. Se requiere un cálculo adicional para procesar valores de campo personalizados que son búsquedas de varios valores. Estos campos no pueden aprovechar varias optimizaciones que se han implementado para escenarios de clientes más comunes. Si ya se han configurado campos personalizados de varios valores, mejore la velocidad de búsqueda y la confiabilidad asegurándose de que ninguno de esos campos se especifique en la consulta de Odata filtrada.

  • Consulta de entidades por clave o asociación. Al consultar entidades, consulte el documento de metadatos en https://yourdomain.sharepoint.com/sites/PWA/_api/ProjectData/$metadata. Siempre que sea posible, consulte la entidad de una de las siguientes maneras:

  • Keys

    Nota:

    Si hay más de una clave, el uso de la primera clave funcionará mejor que solo con la segunda.

  • Asociaciones

    Por ejemplo, puede consultar la entidad Assignment a través de AssignmentId y ProjectId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter=AssignmentId eq guid'719d849a-79b4-e911-b073-00155d9c3d12' and ProjectId eq guid'b5b02399-79b4-e911-b073-00155d9c3d12'
    
    or
    
    https://ServerName/ProjectServerName/_api/ProjectData/Assignments(AssignmentId=guid'719d849a-79b4-e911-b073-00155d9c3d12',ProjectId=guid'b5b02399-79b4-e911-b073-00155d9c3d12') 
    

    a través de AssignmentId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter=AssignmentId eq guid'719d849a-79b4-e911-b073-00155d9c3d12'
    

    a través de ProjectId:

    https://ServerName/ProjectServerName/_api/ProjectData/Assignments?$filter= ProjectId eq guid'b5b02399-79b4-e911-b073-00155d9c3d12'
    

    a través de la asociación a través de Project:

    https://ServerName/ProjectServerName/_api/ProjectData/Projects(guid'263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
    
  • Realice varias consultas para devolver datos en un página cada vez usando el operador $top y el operador $skip en un bucle. Por ejemplo, la consulta siguiente obtiene los problemas del 11 al 20 para todos los proyectos, en orden del recurso asignado al problema:

    https://ServerName/ProjectServerName/_api/ProjectData/Issues?$skip=10&$top=10&$orderby=AssignedToResource
    
  • Evite recuperar el nombre de proyecto, tarea o recurso al consultar la entidad de asignación . El servicio realiza un procesamiento adicional para recuperar los nombres respectivos. Si los datos ya se han recuperado de otras consultas, no los incluya en el filtro $select al consultar asignación.

Recomendación:

  • Limite la cantidad de datos que consulta en tiempo de ejecución mediante el filtrado del lado servidor para recuperar solo las columnas que necesita. El impacto de esto es más notable con los campos personalizados. Agregue los campos personalizados solo si los necesita.

  • Asegúrese de que está filtrando por la clave de entidad. La clave de entidad se indexa y ofrecerá una experiencia de recuperación de datos mucho más eficaz. Para encontrar las claves de cada entidad, revise el documento de metadatos del servicio en la instancia de PWA: https://Contoso.sharepoint.com/sites/PWA/_api/ProjectData/$metadata

Recuperación de datos y creación de informes

PowerBI

Si la cantidad de datos es pequeña, Power BI puede leer periódicamente los datos del servicio Project OData y ayudar a proporcionar una variedad de informes dinámicos. Puede encontrar un paquete de contenido de ejemplo aquí.

Si la cantidad de datos de Project Online es grande, puede incluir un subconjunto de los datos siempre y cuando cumpla los límites de tamaño de datos de PowerBI descritos aquí. Otra opción es crear los informes en una ventana en movimiento, es decir, filtrar los proyectos que estaban activos en los últimos 30 días o ver la capacidad de los recursos durante los próximos 6 meses. Revise la sección $filter/$select para ver los procedimientos recomendados, ya que Es posible que PowerBI no aproveche las optimizaciones de filtrado del lado del servicio.

Excel OData

Excel se puede usar para descargar datos y crear visualizaciones o informes personalizados. Si la cantidad de datos de Project Online es grande, un subconjunto de los datos puede usar una ventana móvil, es decir, filtrar proyectos que estaban activos en los últimos 30 días o ver la capacidad de recursos durante los próximos 6 meses. Revise la sección $filter/$select para ver los procedimientos recomendados, ya que Es posible que Excel no aproveche las optimizaciones de filtrado del lado servicio.

SQL Server Integration Services (SSIS)

Con SSIS, Project Online datos de informes se pueden descargar desde el servicio Project OData en una base de datos de SQL Server local o en Microsoft Azure. Una vez descargado, se pueden crear informes o visualizaciones. Se necesita un proceso adicional para mantener los datos locales sincronizados con Project Online.

Al usar SSIS, use el siguiente patrón para el que se ha optimizado Project Online. El patrón reducirá la cantidad de tiempo que se tarda en recuperar y mantener sincronizados los datos locales. Además, descargue solo los campos necesarios para realizar los requisitos empresariales. Cuantos menos campos se consultan, más rápido se pueden recuperar los datos.

Sincronización completa

Recupere la instantánea actual de los datos de informes que le interesan. Use el método siguiente para recuperar de forma eficaz Project y las entidades relacionadas.

Por ejemplo, mediante la entidad Project .

  1. Consulte el ProjectId desde la entidad Project, incluidos los filtros adicionales. Por ejemplo, filtre por los proyectos que tienen fechas de inicio o finalización específicas.

  2. Consulte la entidad Project especificando los campos que se deben descargar, filtrando por un solo ProjectId que se recuperó anteriormente. Incluya ProjectModifiedDate tal como se usa en el patrón de sincronización delta siguiente.

  3. Repita el paso 2 para cada ProjectId. Además, para cada ProjectId, descargue los datos de las entidades relacionadas.

Por ejemplo, mediante la entidad Task :

  1. Consulte el TaskId desde el filtrado de entidades Task en cualquier campo adicional, así como el project ProjectId del paso anterior.

  2. Consulte la entidad Task especificando los campos que deben descargarse y filtrando en un único TaskId que se recuperó anteriormente. Incluya TaskModifiedDate tal como se usa en el patrón de sincronización delta siguiente.

  3. Repita el procedimiento para cada TaskId.

    Del mismo modo, use el mismo enfoque para cada entidad relacionada, por ejemplo, Asignación, TaskTimephasedData.

Los pasos anteriores se aplican a otros grupos de entidades, por ejemplo, al recuperar información del parte de horas:

  • Parte de horas: recupere TimesheetId y ModifiedDate en función de los criterios de filtro, luego los registros del parte de horas y, a continuación, el filtrado de TimeSheetLines en TimeSheetId y continúe con otras entidades relacionadas, lo que garantiza que está registrando por los identificadores de clave principal (TimesheetUID) y los campos de fecha de modificación.

Al recuperar la información de la entidad de recursos:

  • Recupere los registros ResourceId y ResourceModifiedDate, resource records y, a continuación, ResourceTimephasedData , etc. Incluya los respectivos campos id. de clave principal y fechas de modificación.

Sincronización delta

Compruebe periódicamente para mantener actualizada la copia local de los datos de informes. Repita los pasos siguientes según sea necesario para el grupo respectivo de títulos, por ejemplo, Parte de horas, Recurso...

  1. Consulte todas las fechas de ProjectId y de modificación desde el punto de conexión de Project con $filter criterios.

  2. Elimine el proyecto local y los registros relacionados (Tareas, Asignaciones, etc.) donde projectId ya no existe.

  3. Cuando la fecha de modificación del servicio y la fecha de modificación local son diferentes para el registro del proyecto, consulte el punto de conexión de Project para ver todos los campos necesarios filtrados en un solo ProjectId a la vez. Además, para cada ProjectId, descargue los datos de las entidades relacionadas.

Por ejemplo, mediante la entidad Task :

  1. Consulta en taskId y TaskModifiedDate desde el filtrado de entidades task en cualquier campo adicional, así como el project ProjectId del paso anterior donde han cambiado los datos, es decir, la fecha de modificación del servicio Project no coincidía con la fecha de modificación local.

  2. Elimine los registros locales y relacionados de TaskId que ya no existen.

  3. Si la fecha de modificación del servicio y la fecha de modificación local son diferentes, consulte el punto de conexión de entidad correspondiente pasando TaskId y la clave principal de la entidad y actualice la versión local.

Repita el procedimiento para cada entidad relacionada, por ejemplo, Assignment, TaskTimephasedData.

Cuota de Project Web App

De forma predeterminada, el sitio de Project Web App incluye un límite de 25 GB y es independiente del límite de todos los datos almacenados en la colección de sitios de SharePoint donde Project Web App está habilitado. El uso de las opciones de granularidad de informes para reducir el volumen de datos puede ayudar a mantenerse dentro de la cuota.

Nota:

La cuota de PWA se puede aumentar (en incrementos) a un máximo de 100 GB. Se requerirá un nuevo sitio PWA una vez que se haya alcanzado el límite de cuota. Los aumentos superiores a 50 GB requieren que el sitio PWA ya no use la opción de granularidad de informes de fases temporales diarias . Para analizar el aumento de la cuota de sitio de PWA, póngase en contacto con Microsoft.

Conclusión

Project Online, al igual que cualquier servicio en la nube que se ejecute en Internet, requiere un ajuste específico para ofrecer el mejor rendimiento en comparación con una implementación local.

Aunque mejoramos constantemente el sistema para acelerar el rendimiento, hay algunos pasos que puede seguir mientras tanto para proporcionar una buena experiencia a los usuarios finales.

Recomendación de resumen:

  • Use el modo de permisos de SharePoint siempre que sea posible.

  • Solo activa las características que realmente usarás.

  • Mantenga las páginas y la personalización lo más sencillas y ligeras posible para tiempos de carga de páginas más rápidos.

  • Use el filtrado del lado servidor o exporte los datos de fuentes de Odata a una base de datos de SQL Server para obtener más flexibilidad en la generación de informes.

  • Elija una opción de granularidad de informes que use la menor cantidad de datos que satisfaga sus necesidades de informes.

Project Online: límites y restricciones del software