#ProjectOnline / SharePoint CSOM updated to include Resource Engagements #Office365 #SharePointOnlineAugust 8, 2016 at 2:33 pm | Posted in Add-on, Administration, Configuration, Customisation, Functionality, Information | Leave a comment
Tags: CSOM, Office365, PPM, Project Online
Just a quick post to highlight the latest SharePoint Online / Project Online CSOM version (16.1.5521.1200) now includes the Resource Engagement classes and properties:
Update multiple #ProjectOnline PWA Instances using c# .Net console app #Office365 #csharpe #PPM #PMOTDecember 23, 2015 at 4:12 pm | Posted in .Net, Add-on, Administration, App, Configuration, Customisation, Functionality, Information | Leave a comment
Tags: .Net, CSOM, Office365, PPM, Project Online, Project Server 2013
Following on from a post I wrote over a month ago regarding checking entities from multiple Project Online PWA instances, this post covers updating multiple Project Online PWA instances. The first post can be found below:
In this post I demonstrate a way in which you can manage configuration across multiple PWA instances, for example you might want to create a new custom field on more than one instance. This is a simple example just to show you the idea. As this is very much an example, I haven’t released any code or solution but you can see the core code further on in the post.
For the purpose of this blog post I created a C# .Net console application. Once you have a new visual studio console app project you will need to add the references to the following DLLs:
I used the v15 SharePoint and Project Server dlls here.
In the program add these dlls:
The first part of the code is to capture the custom field name and description plus the number of PWA instances to update:
It then goes into a loop to create the custom field on the specified PWA site:
The code below is used to secure the password in the console input:
That is it. This example will create a Project level custom field but you could easily update the code to get the user to enter the entity type (task / resource etc.)
To see this in action see below:
Enter the custom field name:
Enter the custom field description:
Enter the number of PWA instances to update:
Enter the first PWA site URL:
Enter the username for an account that has access to create custom fields:
Enter the password for that account:
After pressing enter it will go off and create the custom field on the first PWA instance:
Press any key and it will go back to ask for the 2nd PWA instance:
It will then prompt for the username and password as before. It will keep looping through depending on how many PWA sites needed to be updated.
On one of those PWA instances we can see the field was created:
Nice and easy, saves navigating around multiple PWA site collections for a simple change you might want to roll out across multiple instances.
Tags: CSOM, Office365, PowerShell, PPM, Project Online, Project Server 2013
This PowerShell script enables admins to read entities from from multiple Project Online Project Web App instances using CSOM. The particular example reads the list of Enterprise Custom fields but can easily be updated to display other entities such as projects. The script example can be downloaded here:
To get the script to work you will need to reference two DLLs as seen in the image below:
The first one is the ProjectSever Client DLL, as I ran this on my Project Server 2013 server so just referenced the default location of the DLL.
The second DLL is the SharePoint client DLL from the SharePoint Online Management Shell: https://www.microsoft.com/en-us/download/details.aspx?id=35588
Once the references to the DLL’s are updated the script can be run as seen below. Please note, this has only been tested in PowerShell 3.0 and might not work in other versions. I have seen issues in the past loading some SharePoint / Project Server DLL’s in certain versions of PowerShell so if you have issues try this in PowerShell 3.0.
Firstly it will prompt for how many PWA instances, enter the number:
It will then prompt for the PWA URL:
Then the username:
Then enter the password:
The custom fields from this instance will then display:
Depending on how PWA instances you specific the script may or may not prompt for another PWA instance URL, username and password. If you specified more than 1 PWA instance the output will look like this:
As seen, this displays custom fields but could easily be updated to display another entity, for example to see a list of projects. This can be done by changing the following lines:
Whilst this is very simple by just reading data, this could be updated to create new custom fields for example and push that out to multiple PWA instances without having to navigate to multiple PWA instances. I have created an example .NET C# console application that I will blog about soon that creates new custom fields on multiple PWA Project Online instances.
Whilst this only reads data, as always, this script is provided as is with no warranties etc. use at your own risk and test on a test environment before using on a production environment.