Showing posts with label EPM. Show all posts
Showing posts with label EPM. Show all posts

2015/06/09

Create Project status update Part 2

In the previous post ( Create Project status update Part 1 ) we created all the parts needed to Create a project status update, in this post we will put it all together and see how it works ,

Go ahead start your SharePoint 2013 designer and create a Project Server workflow, in the workflow insert the Status update stage and add the following steps

  1. Wait for Event when a project is submitted (very very very important) .
  2. Create item in the list that we have created and map the project fields to the list field (again do not forget the Project UID) 
  3. in the end in the transition to stage send the workflow back to the same stage it will look something like below 
Project Server Workflow

The reason wait for event is so important is if you dont have it the workflow will run infinitely, so the wait for will stop it. 

and this is how my test mapping looks something like this 
Mapping Project data to status update list 

that is it save and publish, next step is associate that workflow with an EPT , create a project and fill in all the data required, then hit the workflow submit button, the workflow will kick-off , your Status update PDP will look something like this after couple of runs 

Status update list

Next post will talk about the limitations and how to improve this 

Create Project status update Part 1

Today we will work on a very basic and easy way to create a Project status update report without the need for a complicated info-path forms or creating multiple lists and workflows. 

so the issue i was working on a very basic implementation for a client who wanted a straight forward Project Online implementation, the only non standard feature they asked for is a weekly status update report. i have done that before using infopath and suctom code but this is Project Online things are a bit different. so i did some search didn't take me long to find a post by Andrew Lavinsky  creating status reports with project online and sharepoint designer and i wanted to start working with it but it was a bit longer than i wanted and i thought there might be a way to simplify it it took me a while but i got there :) , a simple and quick to implement solution so lets start in this part we will create all the.

Keep in mind in this case the client do not require a workflow for their projects (with some creativity it can be incorporated)

Step 1 : The list 

we start with the basic create a share point custom list and add all the fields that you wish to report on, make sure that you include the Project GUID in that list 

Step 2:  The PDP 

Go to your PWA and create a new PDP give it a name , and add the following items to it 
a query string filter to capture the project guid from the URL. then add the list that we just created above, In the Query string webpart create capture the ProjUID from the URL

Create Status update PDP
next send the captured Project UID to the list to make sure only project related items will be in display, form the query string webpart create a connection to the list on the page 
Link the Project uid filter 

Save the PDP and then change its type to Workflow Status,That all we need from this PDP at this stage save it and we will get back to it later. 

Step 3: The Stage

Go to your PWA and create a stage, i have created a stage and called it status update stage under a phase that i also called status update (feel free to name it as you wish) 
Create Project status update Stage 

That is it , in the post i will write on how we will put the pieces together and have a nice and simple way of logging our status updates

2015/04/28

Project Online Workflow Issue (HTTP InternalServerError)

Hi

Just a quick post about an issue that i have had this week and i just managed to get to the bottom of it, I was working on one of my clients sites trying to create what you can consider the most straightforward WF it was a sequential workflow with no approvals, when i created the first project the workflow wouldn't move with and was stuck with the following status


Workflow Stage Status

The workflow is still processing. Refresh the page and try again.


when i went to check the workflow status it was in started for a while with the following error

The environment im working on is a test PWA (not the default PWA URL) and with SharePoint permission mode.

to resolve this issue or better to workaround this issue I have found that I had the Project site create ion settings is set to Do not create a site , and when I switched that to automatically create a site and I attached a project site to my project and restarted the workflow it did work fine with no issues.

I have a case open with Microsoft I will keep you all updated on this

have a nice day :)
Malek

2015/04/17

Playbook tool and Project Online

Hi Again

its Friday end of day so i will make it as short and fast as possible

If you have been working with Project Server for the last couple of years , you know that it was relatively easy to move Project Server on premise  instance between environments, data base migration was specifically useful when moving from development or test environment to production environment.

that didn't come without limitations especially when the migration required is a partial migration for some newly developed configuration, again there was a solution The Microsoft Project Server 2010 Server Settings Backup/Restore tool is part of the Microsoft Project Server 2010 Resource Kit (PRK).

The tool enabled us to backup the configurations from one environment to another, it even allowed to  merge or replace the settings.

That bring us to Project Online, as we all know database migration is simply not an option, some looking around will lead us to one conclusion there is some 3rd party tools , the tools available do provide all the required functionality to migrate configurations and data, and they are supported  but there is one tiny issue they are not free :)

so i needed a quick solution to migrate some basic configurations and settings between Project online environments the configurations were some custom fields (with lookup tables),  security configurations , Quick launch and views i started the manual process and then i got an idea why not to use the same tools for Project 2010 for project online, technically it is possible (with limitations)

so i downloaded and installed Project Server Playbooks, if you just simply start it and tried to login using windows authentication or even Form Authentication you will get the error below


The error basicaly is that the tool do not support authentication  to office 365, so to come around that issue i remembered a nice trick that i came across before when i was trying to connect my LINQPad to Project Server Odata, the solution basically use Fidler to take over the authentication cookie and reuse it again 

so first step go and download fidler, then follow the steps from this link  you will be interested in this section 


"Our “solution”: we will “cache” the authentication cookies from an Internet Explorer session, then inject the same cookies to the LINQPad sessions.
Start Fiddler, choose Roles / Customize Rules…, and edit the CustomRules.js file (don’t forget to create a backup!).
Before the OnBeforeRequest function add this code:
static var authCookies = "";
static var o365Site = "yourO365Site.sharepoint.com"; // modify this value!

At the beginning of the OnBeforeRequest function add this code:
if (oSession.HostnameIs(o365Site)) {
  var cookie = oSession.oRequest["Cookie"];
  if ((cookie == "") && (authCookies != "")) {
    //oSession.oRequest["Accept"] = "text/html, application/xhtml+xml, */*";
    oSession.oRequest["Cookie"] = authCookies;
  }
}

At the beginning of the OnBeforeResponse function add this code:
if (oSession.HostnameIs(o365Site)) {
  var cookie = oSession.oRequest["Cookie"];
  if (cookie != "") {
    authCookies = cookie;
  }
}

Done! Save the changes of CustomRules.js. Then (having Fiddler running and capturing network traffic!) start IE, navigate to your O365 site, and authenticate yourself when requested. Cookies are cached in Fiddler at this point."

now once you have the configurations done correctly run playbooks , feed in your project on-line URL and hit ok , in a minute or two you will get the lovely view below 




enjoy backing up and restoring, i did notice some limitations around some configurations backup but still the tool can do about 80% of the job and its free :) 

  • It goes without saying but i will say it over and over and over , this is not a supported method by Microsoft , i DO NOT  recommend using it on any production environment
  • I do recommend the official recommended methods by Microsoft 
  • another warning , when you take a backup make sure that the XML was downloaded successful with no errors or warnings before you attempt to restore it back 



Have a good day

Malek 

2015/04/01

Project Online Timesheet Issue

Hi Again,

Recently we have noticed an issue with the Timesheet page and with the Timesheet web part.

 the issue occur when the Timesheet is not yet created  and users try to access a page that contains a webpart to display that webpart

 the page will not load and you will get the ugly message
(Sorry Something went wrong)



at the moment Microsoft is aware of this issue and the team is working on a solution for the issue , until then the only workaround is to remove any link that will lead users to the pwa/timesheet.aspx page, direct users to the manage timehseets page so they have to click on click to create the timesheet


hopefully this will help you :)


2013/07/09

PDP Security

Hi ,

Im a bit in a rush so i will keep this simple and straight forward

A client asked me if they can hide a Project Detail Page (PDP) from certain users, i know that there is no out of the box settings to achieve that so i lunched Google and the first result was a blog for Andrew Lavinsky  (http://azlav.umtblog.com/2011/06/15/applying-security-to-a-pdp-redux/) the idea was to disable security inheritance on the PDP document level and assigning unique permission (Simple enough)  but if you already followed the link you will notice Andrew comment that there is an issue with that approach that it will only work under a very specific case

so i approached it a little bit different instead of setting up and changing permissions on the PDP level i simple created a SharePoint group (group who is allowed to view that PDP) and configured target audience for the Project Server Custom field web-part to target only that group.

and that is it , not the cleanest way the PDP name and link will still appear but it is the only way for the moment , please let me know if you have any better ideas

Cheers
Malek 

2012/09/27

Project Server 2010 : FOREIGN KEY constraint Error

Hello again ,

Today we are having a n interesting project Server Issue , I dont have a clear idea on the cause of this Issue but Microsoft calims its a bug that will cause some of your GUID to change when you try to use the save and send feature .... anyway when you try to publish you r project you will end up with this error



General
Reporting message processor failed:
ReportingProjectChangeMessageFailed (24006) - The INSERT statement conflicted with the FOREIGN KEY constraint "FK_MSP_EpmTaskBaseline_ProjectUID_TaskUID". The conflict occurred in database "ProjectServer_Reporting", table "dbo.MSP_EpmTask". The statement has been terminated.



so what this error basically say that there is  foreign key want found when it was trying to insert a task with a foreign key UID from another table , in another words less technical there is some data missing from the database ...


so the bad news is you cant really know what is the cause behind this , the good news is there is a solution

actually to make it better the solution is easy
 backup ..backup..backup 


run the following script against your draft database and against your published database
select PROJ_NAME, MTB.PROJ_UID,TASK_UID,TB_BASE_NUM from MSP_TASK_BASELINES MTB


inner join MSP_PROJECTS MP on MTB.proj_uid=MP.proj_uid

where TASK_UID not in (select TASK_UID from MSP_TASKS)

    if and you should get some raws with this command those tasks are the origin of your Issue to resolve it run the following command againest your draft and puplished databes


DELETE FROM MSP_TASK_BASELINES WHERE TASK_UID not in (SELECT TASK_UID FROM MSP_TASKS)


once you run this make sure that you clean the project cashe from the user machine and republish it again

hope this help
regards










2012/09/05

I have did something bad

Hello All , 

I will start with a big disclaimer  : 
 I have did this only for testing and because i needed this database to get attached this is a development environment , and what i did is totally 100% not supported not recommended .

2012/08/01

SSRS Error

Hi All 


I know it should be about project server 2010 but for this im making a small change and i just want to mention a small error that consumed some of my time trying to figure it out in SQL reporting service .


so basically i was creating a custom report for one of our clients , did a small modification on my SQL statement and let the fun begin the error below appeared 


2 hours wasted 


and as you can notice the error message  is not helpful not in any way  but apparently it was an issue with my Query which is running perfectly on SQL and on the query designer retrieving the data with no issues 


my SQL was something like this (just an example) 


SELECT p.TaskDate , p.TaskName , x.TaskDate FROM 


Table1 p JOIN Table2 x on p.TaskDate = x.TaskDate




the query will never have a problem on SQL or with the query designer , 


but the problem is SQL reporting service couldn't handle the same column name generated so you need to use aliases  , just do that and you are good to go 




Cheers hope this will help 
Malek 

2010/11/28

Timesheet Incorrect mode

Hello

recently i was facing a problem with some timesheets failing in the queue and no solution could be found in Google .

Basically the error reason is unknown and the error code is not clear , maybe it is generated after the latest update from Microsoft but anyway lets handle it

The error details are below

Queue type : Timesheet
Job Type : Timesheet Submit
In the error description you can see “Incorrect timesheet mode”


So after I looked over and over and couldn’t find a solution I made the biggest no in the Project server …. Yes I canceled the job from the queue and then I refreshed the timesheet and it turned into green and the status was approved and everything is perfect .

So far this is the solution I came up with and the data seams ok and no more problems is coming up

2010/08/05

project server 2007 migrate to project server 2010

Ok, to make a long story short we are implementing project server 2010 for a client who we have already implemented project server 2007 so typically we need to migrate the current server .

so we started by studying our options the in place upgrade was eliminated project server 2007 was installed over 2003 server so i ended up asking my college to start a core upgrade following Microsoft steps

http://technet.microsoft.com/en-us/library/ee662499.aspx

and for some reason once we provision the PWA we end up with a provision failure and no luck for 2 days , the upgrade logs showed that the data base conversion went on with 0 errors and 0 warnings . but still the PWA couldn't provision correctly we went over Microsoft instructions over and over and step by step with no luck .

so to resolve this issue i done the following

1-i followed the steps again until i got the provision error
2-provision a new 2010 PWA
3-replace the new 2010 PWA databases with the converted data bases from the 2007

and we ended up with a working project web application still we didn't fully test it but at least we have something to start with