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 

2 comments:

  1. Project Online Office 365
    http://www.glms.com.au/project-online-and-office-365/


    Please Click below website here & Get information about Project Online Office 365. It will be increase your business.



    ReplyDelete

shayeb@gmail.com