SSD: el síndrome de la Sharepoint dependencia

Sharepoint me proporciona seguridad y me hace sentir más fuerte. Las 10 cosas que más me gustan de Sharepoint.

10 puntos para entender a Project Server 2010

Microsoft Project es quizá la herramienta de gestión de proyectos más conocida y utilizada por los líderes de proyectos...

Diseño Gráfico en SharePoint

Serie de artìculos que nos ayudan a incorporar diseño gráfico en las implementaciones de SharePoint...

Revista CompartiMOSS

Artículos publicados en la revista especializada en SharePoint: CompartiMOSS.

Contacto

Enviame un correo :-)

miércoles, 29 de agosto de 2012

¿Cómo cancelar todos los flujos de trabajo activos programáticamente?

La siguiente es una página de aplicación de SharePoint que permite cancelar todos los flujos de trabajo activos. Para ejecutarla, debe estar almacenada en la siguiente carpeta (o en una subcarpeta):

C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\TEMPLATE\LAYOUTS

Algunas consideraciones a tener en cuenta:

  • Esta página sólo cancela los flujos de trabajo de lista, pero no los de sitio (que existen desde SharePoint 2010)
  • Es posible que esta página tarde más de 6 minutos en ejecutar el código. En ese caso deberán modificar el web.config que se encuentra en la carpeta mencionada arriba, específicamente la línea <httpRuntime executionTimeout="360" />

A continuación el código. Espero les resulte útil!

<%@ Assembly Name="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>  
<%@ Register TagPrefix="spuc" Namespace="Microsoft.SharePoint.WebControls"
             Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Page Language="C#" MasterPageFile="/_layouts/application.master"
         Inherits="Microsoft.SharePoint.WebControls.LayoutsPageBase" %>

<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Import Namespace="Microsoft.SharePoint.Workflow" %>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.Collections.Generic"%>
<%@ Import Namespace="System.Text"%>
<%@ Import Namespace="System.IO"%>

<script runat="server">
protected override void OnLoad(EventArgs e) {

FlujosTrabajo.Text = ""; // Salida por pantalla
int i = 0; // Cantidad de flujos activos
int s = 0; // Cantidad de sitios

Error.Text = "Ejecución exitosa";

try {
using (SPSite oSite = new SPSite("http://Surpoint"))
{
foreach (SPWeb oWeb in oSite.AllWebs)
// using (SPWeb oWeb = oSite.OpenWeb("/Blog/"))
{
oWeb.AllowUnsafeUpdates = true;
FlujosTrabajo.Text = FlujosTrabajo.Text + "Site: " + oWeb.Url + Environment.NewLine ;
s = s +1;
foreach (SPList list in oWeb.Lists)
{
// Verifico si la lista tiene flujos de trabajo
SPWorkflowAssociationCollection associationColl = list.WorkflowAssociations;
if (associationColl.Count >0)
{
FlujosTrabajo.Text = FlujosTrabajo.Text + " Lista: " + list.Title + " ("+ (list.Items.Count) +") [Workflows asociados: (" + associationColl.Count + ")]" + Environment.NewLine ;
for (int y=list.Items.Count-1; y>=0; y--)
{
SPListItem oItem = list.Items[y];
// Obtengo los flujos de trabajo activos para el ítem
SPWorkflowCollection wfs = oSite.WorkflowManager.GetItemActiveWorkflows(oItem);
if (wfs.Count >0)
{
FlujosTrabajo.Text = FlujosTrabajo.Text + " Ítem: " + oItem.ID + " [WF activos: (" + wfs.Count + ")]" + Environment.NewLine ;
for (int x=0; x<wfs.Count; x++)
{
SPWorkflow workflow = wfs[x];
FlujosTrabajo.Text = FlujosTrabajo.Text + " Workflow cancelado / ítem: " + workflow.ItemId;
i = i + 1;
// Cancelo el flujo de trabajo
SPWorkflowManager.CancelWorkflow(workflow);
FlujosTrabajo.Text = FlujosTrabajo.Text + " OK] " + Environment.NewLine ;
}
}
}
}
}
oWeb.AllowUnsafeUpdates = false;
oWeb.Dispose();
}
FlujosTrabajo.Text = FlujosTrabajo.Text + Environment.NewLine + "*** Total de workflows cancelados: " + i + " ***";
FlujosTrabajo.Text = FlujosTrabajo.Text + Environment.NewLine + "*** Total de sitios : " + s + " ***";
Error.Text = Error.Text + Environment.NewLine + "*** Total de workflows cancelados: " + i + " ***";
}
}
catch (Exception ex)
{
Error.Text = "*** Total de workflows cancelados: " + i + " ***";
Error.Text = Error.Text + Environment.NewLine + "Error: " + ex.Message;
}
}

</script>

<asp:Content ID="Main" runat="server" contentplaceholderid="PlaceHolderMain" >
<asp:TextBox ID="Error" runat="server" Visible="true" TextMode="MultiLine" Rows="3" Width="700px" />
<BR />
<asp:TextBox ID="FlujosTrabajo" runat="server" Visible="true" TextMode="MultiLine" Rows="20" Width="700px" />
</asp:Content>

jueves, 23 de agosto de 2012

miércoles, 22 de agosto de 2012

Soluciones para manejo de proyectos ágiles en SharePoint, Project y Project Server 2007, 2010 y 2013

Introducción

El propósito de este artículo es describir qué opciones existen para implementar metodologías ágiles en SharePoint, Project y Project Server. Existen soluciones distintas para cada versión (2007, 2010 o 2013) y también varían de acuerdo al producto. La idea es recorrer las distintas versiones para que, independientemente de la versión actual, también se pueda observar hacia dónde evoluciona el producto.

En líneas generales se observan dos grandes ramas de soluciones:

· Las que incorporan gráficos como el Burn Down en Microsof Project

· Las que incorporan el Task Board en SharePoint

Otra característica es que no encontramos soluciones para Project Server.

La siguiente tabla es un resumen de las soluciones incluidas en este artículo:

Solución

Software

SCRUM Template for SharePoint 2007 and 2010 http://scrum.codeplex.com/

SharePoint 2007 / 2010

21 Scrum http://www.21scrum.com/

SharePoint 2010

Project 2007 – Burndown Report http://archive.msdn.microsoft.com/P2010Scrum

Project 2007 / 2010

Project 2010 Scrum Solution starter http://archive.msdn.microsoft.com/P2010Scrum

Project 2010

Project 2013 – Burndown Report http://office.microsoft.com/en-us/project-help/create-a-burndown-report-HA102843516.aspx

Project 2013

 

clip_image002SCRUM Template for SharePoint 2007 and 2010

Se trata de una solución actualmente en desarrollo disponible en CodePlex que soporta como principales características:

· Sprint Backlog

· Scrum Burndown Chart

· Scrum Task Board

La siguiente imagen es un ejemplo del Scrum Task Board, que nos permite definir nuestras propias columnas, muestra el avance de las tareas, el estado y el avatar.

clip_image004

Esta solución tiene algunas opiniones negativas en el sitio. De todas maneras, es una alternativa a probar, e incluso una buena fuente de ideas. Además es de código abierto bajo licencia EPL.

Disponible para SharePoint 2007 y 2010

 

21 Scrum

Aparece como una de las opciones más recomendadas. Incluso hay una recomendación en un blog de Microsoft. No es una solución gratuita y sólo está disponible para SharePoint 2010. Sus opciones de licenciamiento son:

· Para una colección de sitios

· 5 colecciones

· Granja

clip_image006

 

Microsoft Project 2007 Burn Down Report

Desde el blog de Microsoft nos brindan un ejemplo de cómo construir un Burn Down Report en Project 2007 utilizando la característica de Reportes Visuales. Un ejemplo de gráfico a obtener es:

clip_image007

El resumen de pasos a seguir es:

1. Elegir la opción de Reportes Visuales

2. Elegir “Assignment Usage” de los reportes de Excel

3. Agregar cómo fila las semanas

4. Agregar como columnas trabajo acumulado, trabajo real y trabajo planificado

5. Crear las columnas para calcular el trabajo pendiente real y planificado.

6. Armar el gráfico

Si bien es una alternativa válida, requiere algo de trabajo manual y requiere que el líder maneje los valores reales de Project, algo que a veces no es tan común.

 

Microsoft Project 2010 Scrum Solution starter

Se trata de una solución disponible desde Microsoft sólo para Project 2010. Sus principales características son:

· Product backlog

· Scrum backlog

· Burndown charts

La instalación del producto nos genera una opción de creación de proyecto con Scrum:

clip_image008

Esto nos creara una solapa para Scrum dentro de la ribbon:

clip_image010

En la siguiente pantalla se ve un ejemplo de Sprint Burndown

clip_image012

 

Project 2013 – Burndown Report

Project 2013 maneja en forma nativa los “burndown reports”, al menos en lo que se puede ver en el preview. Para crear uno, se puede acceder en la ribbon desde Report > Dashboard > Burndown:

clip_image013

Podemos obtener un gráfico cómo el siguiente:

clip_image014

En el enlace se explican algunas ideas de cómo utilizar Project para obtener este tipo de gráficos.

 

Conclusión

clip_image016Recordando que el propósito de este artículo era buscar soluciones ágiles para Project Server, la primera conclusión es que no existen. Si dividimos un poco más ese objetivo, se encuentran algunas alternativas para Project y otras para SharePoint.

A priori, no aparece una alternativa que sobresalga del resto como para “recomendarla”, pero si aparecen ideas que pueden ser tomadas como base para una implementación de metodologías ágiles en una instalación de Project Server.

Teniendo en cuenta que en una instalación de Project Server, Project es una herramienta “obligada”, parece tener bastante sentido intentar sacar gráficos como el Burn Down desde esta herramienta, así como también gestionar los Sprints y el Product Backlog. Sin embargo, al tratarse de Project Server, no deberíamos descartar la opción de Reporting Services para generar los gráficos.

De todas maneras, es importante evaluar qué tan cómoda resulta esta herramienta para un equipo que trabaja con metodologías ágiles. Y hay que tener en cuenta que sólo podría ser utilizada para el rol de Scrum Master.

La otra parte de la conclusión es que parece ser interesante intentar armar algún tipo de pizarra en SharePoint. Y aquí hay algunas opciones para tomar de base, mientras que las necesidades más puntuales se podrían implementar con algo de desarrollo a medida (o incluso con algún tipo de herramienta no Microsoft, pero que pueda ser integrada dentro de SharePoint).

Un posible de resumen de pasos a seguir para hacer convivir metodologías ágiles dentro de una organización que implemente Project Server sería:

1. Entender la implementación de SCRUM (u otra metodología ágil) dentro de la organización.

2. Definir qué artefactos se implementarán en Project y cuáles en SharePoint.

3. Realizar las parametrizaciones y desarrollos necesarios, que a priori incluirían:

  · Una plantilla de Project

  · Una plantilla de Sitio de Proyecto

  · Reportes en Reporting Services que soporten Scrum

 

¿Y ustedes que experiencia han tenido con metodologías ágiles en Project Server y SharePoint? Los invito a opinar. Hasta la próxima!

martes, 21 de agosto de 2012

¿Cómo listar los riesgos de todos los proyectos en Project Server?

Project Server mantiene un sitio de proyecto en SharePoint para cada proyecto. Dentro de cada sitio existe una lista de Riesgos. Los datos de esta lista son consolidados en tablas de las base de datos de Reporting de Project Server. A continuación les dejo un par de consultas sencillas para extraer esta información de la BD. Espero les resulten útiles:

USE ProjectServer_Reporting
SELECT
 ProjectName,
 [Líder del Proyecto], /* Campo custom*/
 [Frente], /* Campo custom*/
 [Estado del proyecto], /* Campo custom*/
 Title,
 Owner,
 AssignedToResource,
 Status,
 Probability,
 Impact,
 Exposure,
 DueDate,
 Description,
 MitigationPlan,
 ContingencyPlan,
 TriggerDescription, 
 TriggerTask
FROM
 MSP_WssRisk R
 INNER JOIN dbo.MSP_EpmProject_UserView P ON P.ProjectUID = R.ProjectUID
ORDER BY
 ProjectName,
 Title

USE ProjectServer_Reporting
SELECT
 Count (RiskID) AS Riesgos,
 ProjectName,
 [Líder del Proyecto], /* Campo custom*/
 [Frente], /* Campo custom*/
 [Estado del proyecto] /* Campo custom*/
FROM
 MSP_WssRisk R
 INNER JOIN dbo.MSP_EpmProject_UserView P ON P.ProjectUID = R.ProjectUID
GROUP BY
 ProjectName,
 [Líder del Proyecto], /* Campo custom*/
 [Frente], /* Campo custom*/
 [Estado del proyecto] /* Campo custom*/
ORDER BY
 Count (RiskID) DESC, ProjectName


viernes, 10 de agosto de 2012

Ajustar ancho de columnas de SharePoint 2007 con jQuery

Probablemente se hayan encontrado con situaciones en donde las vistas estándar de listas de SharePoint no ajusten las columnas de la forma más adecuada a nuestras necesidades. A continuación les dejo un script en jQuery que permite ensanchar una columna en particular.

A tener en cuenta:
  • El script asume que la vista de la lista está en el elemento web con id "WebPartWPQ4"
  • Asume que la clase utilizada para el estilo de la vista es ".ms-summarystandardbody"
  • Asume que la columna a ensanchar es la 3 y que un 60% es aceptable
Pueden ajustar estos valores según sus necesidades o incluso crear una función más genérica.

Código jQuery:

function ajustar_estilo () {

    // Header
    $('#WebPartWPQ4 .ms-summarystandardbody .ms-viewheadertr th:eq(2)').css("width","60%"); 

    // Filas
      $('#WebPartWPQ4 .ms-summarystandardbody tbody > tr').each(function(index) {
        $(this).children("td").each(function(index2) {
            if (index2 == 2)  { 
                $(this).css("width","60%"); 
                }
               });
           });
}

Código a ser insertado en una CEWP:

<script type="text/javascript" src="/Internal/jquery142min.js"></script>
<script type="text/javascript" src="/Internal/ajustar_estilo.js"></script>

<script type="text/javascript">
 ajustar_estilo ();
</script>

Espero les resulte útil. Hasta la próxima!

Project Server SQL: Recursos por Proyecto con información de Calendarios

Esta consulta permite extraer la lista de Recursos asignados a Proyectos con el detalle del Calendario del proyecto y el Calendario del Recurso.

Extrae la información de la base de datos de Reporting de Project Server, exceptuando el dato del calendario del proyecto, el cual es extraido desde la base de datos Published de Project Server:

SELECT
MSP_EpmProject_UserView.ProjectName Proyecto,
PC.CAL_Name [Calendario Proyecto],
MSP_EpmResource_UserView.ResourceName Recurso,
MSP_EpmResource_UserView.ResourceBaseCalendar [Calendario Recurso]

FROM
MSP_EpmAssignment_UserView

INNER JOIN MSP_EpmProject_UserView ON
 MSP_EpmAssignment_UserView.ProjectUID =
 MSP_EpmProject_UserView.ProjectUID
INNER JOIN
 MSP_EpmResource_UserView ON
 MSP_EpmAssignment_UserView.ResourceUID =
 MSP_EpmResource_UserView.ResourceUID
INNER JOIN ProjectServer_Published.dbo.MSP_Projects PP ON
 PP.PROJ_UID = MSP_EpmProject_UserView.ProjectUID
INNER JOIN ProjectServer_Published.dbo.MSP_Calendars PC ON
 PC.CAL_UID = PP.CAL_UID

WHERE
MSP_EpmResource_UserView.ResourceIsActive = 1
AND MSP_EpmResource_UserView.ResourceIsGeneric = 0


GROUP BY
ProjectName,
CAL_Name,
ResourceName,
ResourceBaseCalendar

ORDER BY
ProjectName,
ResourceName

Espero les resulte útil. Hasta la próxima!

jueves, 9 de agosto de 2012

Project 2007: No se puede modificar tablas mediante el método TableEdit en vistas distintas a las vistas de hoja

Al agregar una columna en Project 2007, aparece el error "No se puede modificar tablas mediante el método TableEdit en vistas distintas a las vistas de hoja" (en inglés: "You cannot modify a table using the TableEdit method in a view that is nota sheet view"):



Aparentemente se trata de un problema de tabla corrupta. Una de las posibles causas podría ser pasar un proyecto de 2007 a 2010 o viceversa.

Una posible solución es:
  1. Ir al menú Ver / Tablas / Más tablas
  2. Modificar la tabla "Entrada"
  3. Agregar la columna que queremos agregar
  4. Presiona Aceptar
Luego de esto, debería quedar arreglado.

Hasta la próxima!

Project Server SQL: Recursos no asignados a Proyectos

Esta consulta permite extraer de la base de datos de Reporting de Project Server aquellos recursos no asignados a proyectos.

USE ProjectServer_Reporting

SELECT
ResourceName, ResourceIsActive, ResourceBaseCalendar, ResourceType
FROM dbo.MSP_EpmResource_UserView R
WHERE NOT EXISTS ( 
 SELECT 1
 FROM dbo.MSP_EpmAssignment_UserView A
 WHERE A.ResourceUID = R.ResourceUID )
ORDER BY ResourceName

A tener en cuenta: cuando Resource Type toma valor 2, quiere decir que ese usuario puede ser asignado como recurso en un proyecto.

martes, 7 de agosto de 2012

Análisis de Disponibilidad y Uso de Recursos en Project Server 2007

Introducción

El análisis de uso de recursos en Project Server 2007 debería poder permitir saber cuál es la asignación (y sobre asignación) de los recursos a lo largo de los diferentes proyectos de la organización.

Dentro de este análisis, se podrían buscar cubrir los siguientes requerimientos:

  • Analizar la disponibilidad de los recursos
  • Analizar el trabajo planificado de los recursos
  • Analizar el trabajo real de los recursos
  • Analizar esta variables a través de distintos proyectos
  • Analizar esta variables a través de tareas (menos común)
  • Analizar estas variables a través del tiempo
  • Agrupar estas variables a través de campos personalizados de los proyectos
  • Agrupar estas variables a través de campos personalizados de los recursos
  • Utilizar herramientas que permitan un análisis dinámico: tablas dinámicas de Excel por citar un ejemplo

En este documento se presentarán algunas alternativas para poder realizar este análisis.

 

Los datos de Project que se pueden analizar

En la siguiente lista, se enumeran los campos típicos a utilizar como dimensiones de proyectos, dimensiones de recursos y medidas:

Dimensiones de Proyectos:

  • Nombre del Proyecto
  • Owner
  • Campo personalizado de Proyecto (pueden ser muchos)

Dimensiones de Recursos:

  • Nombre del Recurso
  • Activo (Si / No)
  • Genérico (Si / No)
  • Equipo (Si / No)
  • Tipo de reserva (confirmada / propuesta)
  • Campo personalizado de Recursos (pueden ser muchos)

Medidas

  • Trabajo
  • Trabajo Real
  • Trabajo previsto
  • Capacidad
  • Disponibilidad de trabajo
  • Disponibilidad restante
  • Costos

En el siguiente ejemplo simple de Project Pro vamos a revisar el uso de estos campos. Comenzamos con una vista sencilla de 2 tareas con recursos asignados. Luego de estimar la duración de las tareas, vemos como queda completado el campo Trabajo:

clip_image002

En la vista Gráfico de Recursos se puede observar la disponibilidad del recurso y el trabajo asignado, identificando claramente una sobre asignación en los dos primeros días:

clip_image004

En un siguiente paso, vamos a establecer una línea base y luego vamos a agregar porcentaje de avance en una tarea. De esta forma vemos como se completan los campos de trabajo real y trabajo previsto. Adicionalmente agregamos una tarea nueva y la opción de mostrar la tarea resumen del proyecto. El resultado es el siguiente:

clip_image006

En la vista de Hoja de Recursos podemos ver el detalle día a día por Recurso:

clip_image008

Finalmente, como alternativa adicional dentro de Projec Pro, podemos utilizar los informes visuales, pero recordemos que seguiremos haciendo los análisis dentro del contexto de un único proyecto:

clip_image010

clip_image012

 

La opción fuera de la caja de PWA

Sin activar el uso de OLAP, fuera de la casa tenemos algunas opciones para realizar análisis dentro del Centro de Recursos. La más lógica es la del botón “Ver Disponibilidad” que nos genera un gráfico como el siguiente:

Recordar que es necesario tener instalado los Office Web Components para ver la parte gráfica de esta consulta.

clip_image014

clip_image016

Uno de los problemas de esta vista, es que no permite realizar un análisis tipo tabla dinámica. Además posee la limitación de un máximo de 100 recursos

 

La opción fuera de la caja de PWA – Alternativa OLAP

Una opción que podemos utilizar y que implica realmente poco esfuerzo es a través de las opciones OLAP de Project Server. Existen tres cubos que podemos utilizar:

  • Assignment Timephased
  • Resource Timephased
  • MSP_Portfolio_Analizer (una combinación de los dos cubos anteriores)

Esta opción escapa al alcance de este artículo, pero verán que es una alternativa válida, con la única contra de que no se encuentra actualizada en tiempo real.

 

La opción de la BD de Reporting de Project Server

Otra opción es crear un reporte utilizando la base de datos de Project Server para Reporting.

A continuación mostramos un ejemplo que consta de dos partes:

  • Una vista SQL que retorna los datos que necesitamos
    • A nivel de día
    • Con detalle de proyectos
    • Con detalle de recursos
    • Sin detalle de tareas (para optimizar rendimiento)
  • El acceso a dicha vista desde Excel 2010 para mostrar los datos en forma de tabla dinámica

También podríamos haber elegido SSRS, pero para este tipo de análisis, requeríamos una herramienta más apropiada como un Tabla Dinámica.

La instrucción de la vista pueden verla en el siguiente script: 

USE ProjectServer_Reporting

DROP VIEW DISPONIBILIDAD_RECURSOS

GO

CREATE VIEW DISPONIBILIDAD_RECURSOS AS

SELECT

MSP_EpmProject_UserView.ProjectName Proyecto,

MSP_EpmResource_UserView.ResourceName Recurso,

YEAR (MSP_EpmAssignmentByDay_UserView.TimeByDay) AS [Fecha Año],

MONTH (MSP_EpmAssignmentByDay_UserView.TimeByDay) AS [Fecha Mes],

Day (MSP_EpmAssignmentByDay_UserView.TimeByDay) AS [Fecha Día],

SUM (MSP_EpmAssignmentByDay_UserView.AssignmentWork) Trabajo,

SUM (MSP_EpmAssignmentByDay_UserView.AssignmentActualWork) [Trabajo Real],

SUM (MSP_EpmResourceByDay_UserView.Capacity) Capacidad

FROM

MSP_EpmAssignmentByDay_UserView

INNER JOIN MSP_EpmProject_UserView ON MSP_EpmAssignmentByDay_UserView.ProjectUID = MSP_EpmProject_UserView.ProjectUID

INNER JOIN MSP_EpmTask_UserView ON MSP_EpmAssignmentByDay_UserView.ProjectUID = MSP_EpmTask_UserView.ProjectUID AND

MSP_EpmAssignmentByDay_UserView.TaskUID = MSP_EpmTask_UserView.TaskUID

INNER JOIN MSP_EpmAssignment ON MSP_EpmAssignmentByDay_UserView.AssignmentUID = MSP_EpmAssignment.AssignmentUID AND

MSP_EpmAssignmentByDay_UserView.ProjectUID = MSP_EpmAssignment.ProjectUID AND MSP_EpmAssignmentByDay_UserView.TaskUID = MSP_EpmAssignment.TaskUID

INNER JOIN MSP_EpmResource_UserView ON MSP_EpmAssignment.ResourceUID = MSP_EpmResource_UserView.ResourceUID

INNER JOIN MSP_EpmResourceByDay_UserView ON MSP_EpmResourceByDay_UserView.ResourceUID = MSP_EpmResource_UserView.ResourceUID AND

MSP_EpmResourceByDay_UserView.TimeByDay = MSP_EpmAssignmentByDay_UserView.TimeByDay

WHERE

(MSP_EpmResource_UserView.ResourceName IS NOT NULL)

AND MSP_EpmAssignmentByDay_UserView.TimeByDay >= GETDATE()

GROUP BY

ProjectName,

ResourceName,

MSP_EpmAssignmentByDay_UserView.TimeByDay

GO

En la siguiente imagen pueden ver cómo se pueden analizar los datos de esta vista desde Excel 2010:

clip_image018


 


Conclusión


Existen muchas formas de analizar el uso y la disponibilidad de recursos en Project Server. Es conveniente conocerlas todas y ver cuál es la opción apropiada en cada caso. En este artículo hemos visto cómo hacerlo accediendo directamente a la BD de SQL Server con una tabla dinámica. Esta opción es bastante flexible, pero podría presentar algunos problemas de rendimiento en caso que tengamos grandes volúmenes de información.

Espero les haya resultado útil. Nos vemos!

 

Enlaces interesantes


¿Cómo configurar las opciones de calendario en Project Server 2007?

No es posible configurar las opciones de calendario de Project Server 2007 en la "Información Global de la Empresa" (Enterprise Global). La Enterprise Global sólo almacena la siguiente información:
  • Agrupación
  • Barras de herramientas
  • Mapas
  • Formularios
  • Tablas
  • Filtros
  • Vistas
  • Informes
  • Módulos
La forma de configurar las opciones de Calendario es a través de las plantillas de empresa, siguiendo estos pasos:
  • Abrir una plantilla
  • Modificar las opciones de calendario
  • Sobreescribir la plantilla de empresa 


Información adicional en:

viernes, 3 de agosto de 2012

80 eBooks gratuitos de Microsoft

Les dejo los enlaces, hay varios de SharePoint:

Colección 1
Colección 2

Hasta la próxima!

miércoles, 1 de agosto de 2012

Project Server 2007 Report Pack II - "The Top Reports"

Para los que trabajamos en Project Server, este paquete de reportes para la versión 2007 es más que interesante. Se trata de una segunda entrega, de la primera sobre la que ya hablamos hace un tiempo. Contiene un conjunto de reportes denominados "TOP" y lo pueden descargar desde este enlace: http://archive.msdn.microsoft.com/EPMReportPack

La lista de reportes incluidos es la siguiente:
  1. Assignment To Timesheet Consistency
  2. My Planned Time Off
  3. My Project-Oriented Timesheet Activity
  4. My Projects and Assignments
  5. My Task Count and Status
  6. Project_Detail
  7. Resource Activity by RBS and Position Role
  8. Resource Allocation
  9. Resource Allocation Subreport
  10. Resource Capacity versus Demand Heatmap by Position Role
  11. Task Update Compliance
  12. Timesheet Compliance
  13. Administration Dashboard
  14. Active Resource Details
  15. Archive Project Details
  16. Draft Project Details
  17. Inactive Resource Details
  18. Metadata Assignment Custom Field Details
  19. Metadata custom field modifications
  20. Metadata Enterprise Template Modifications
  21. Metadata Lookup Table Modifications
  22. Metadata Resource Custom Field Details
  23. Metadata Task Custom Field Details
  24. Project Baseline Details
  25. Project Task and Assignment Details
  26. Project Type Details
  27. Published Project Details
  28. Queue – Project jobs
  29. Queue – Timesheet Jobs
  30. Security Categories Modified
  31. Security Groups Modified
  32. Security No RBS setting
  33. Security Permissions on User Level
  34. Security Templates Modified
  35. Security Users Modified
  36. SQL Server Database Space Usage
  37. SQL Server Fragmentation
  38. SQL Server Table Space Usage
Y aquí algunas imágenes para tentarlos:





Hasta la próxima!