Ignite 2015 Wrap up

For the past few days I was lucky enough to attend the Microsoft Ignite conference in Chicago to hear about all the new stuff coming from Microsoft and I have to tell you, it’s pretty exciting.

Microsoft Ignite 2015

The conference itself was massive, over 23,000 attendees as a result of merging Tech Ed, Microsoft Management Summit, the SharePoint Conference, Project Conference, Exchange Conference and Lync Conferences together. If I had to think about it, I would say it was a little too big and Project looked to suffer for it, but their was some great content.

The keynote was massive, but seemed a little disjointed. Talking to a number of people, it felt as if all the good stuff had been announced earlier or at Build the week before. Ignoring that though, there was some great demo’s from Julia White and my ex-colleague Ben Walters. The highlight had to be Gurdeep Pall (sorry Ben) , who was funny and engaging.

SharePoint 2016 Roadmap Investment Areas

This conference was to be the coming out party for SharePoint 2016, and whilst it’s still early days for the on-premises product, there were some key announcements, including:

  • MinRole concept – simplifying the ability to define which roles servers will take and the knock on effect of significantly reducing the patching overhead
  • Hybrid – SharePoint 2016 on-premises will make hybrid a first class citizen and augment on-premises capabilities with cloud services
  • Next Gen Portals – Awesome ready to go, quick and simple portals that can be up in a matter of minutes
  • Improved Management Tooling including zero downtime patching – Wow
  • Fast Site Creation – Sites will be created within the DB, instead of having to create templates with their various feature dependencies, making the process much much simpler.
  • and finally, the official announcement of the merging of the Project DB into the SharePoint Content DB.

I’ve heard about the merging for a while now for Project Online and it’s a pretty impressive achievement. When a PWA instance was first created, Project Online used to provision a Project DB per tenant. So if there were 100’s of tenants, there would be 100s of databases, all needing to be managed, maintained etc. driving up the cost of goods sold (COGS). Now between going live and early 2014, the Project team managed to consolidate all these databases and fold them into the SharePoint Content DB’s without a single incident or impact on availability. A massive achievement for the team at Project.

From a Project perspective, there were a couple of great sessions where with demo’s and announcements of new capabilities including the new multiple timeline support for Project Pro and the new Resource Engagements capability, both of which I will cover in a bit more detail in other posts.

Multiple Timelines

Finally, there was an interesting session on Project Online Customisation Best Practices, which gave some great insights into how to performance tune Project Central, although I am not sure I agree that taking the web parts off the page or removing indicators is the way to go.

image

The session was timed to highlight a great new whitepaper published by Microsoft on the subject of Project Online Perf, covering:

  • Choosing the right Permission Mode – SharePoint or Project Server and it’s impact on Queue Processing
  • Project Site Creation – When to create a project site in online to keep demand management workflow moving along quickly
  • PWA Page customisations
  • OData – Using Server Side Filters to improve oData Perf

You can read more of the white paper at https://support.office.com/en-us/article/Project-Online-performance-best-practices-12ba0ebd-c616-42e5-b9b6-cad570e8409c?ui=en-US&rs=en-US&ad=US&fromAR=1 or at http://aka.ms/projectonlineperf

All in all Ignite was really big, full of sessions and it’s going to take me a few days physically to get over it, but it was great to catch up with old friends, make new ones and learn. I am looking forward to Ignite 2016!

Project Lite now available

Project Online has been available for a little over a year now, the first real SaaS version of Project Server operated by Microsoft and available in Office 365. The online service provides all the capabilities of Project Server you would expect, the centralised view of Projects, Resource Management, Task & Timesheet management, Portfolio Analysis and Prioritisation, Reporting and powerful collaboration for a monthly per user fee. Is some cases, organisations don’t need access to all this functionality for all users, specifically team members only really need access to the Task & Timesheet functionality, collaboration sites and the ability to see their project schedules.

Well, Microsoft listened and as announced at the Project Conference in February, have introduced Project Lite, a lighter version of Project Online aimed for just those kind of users which is available as of today (1st May).

image

 

You can read more about Project Lite over on the official Office blog or here.

The Appie Awards…

 Last night at the SharePoint Conference in Las Vegas, Microsoft announced the winners of the ‘Appies’, recognising the best apps in the Microsoft Office and SharePoint stores. The awards highlighted a number of great apps covering SharePoint, Office and Project, including:

  • Campagna and Schott for their CS Task Board app, a runner up in the Best UI award;
  • CPS’s Project Task Auditor, winning the Most Business Value award for Project client apps; and
  • Sensei’s Project Dashboard, winning the Most Interesting Scenario, Project category.

Personally, whilst I didn’t get a chance to enter any of my existing, or new apps into the awards, I was really excited that Nintex (who I work for in my day job) won three categories including Most Interesting Scenario for SharePoint, Most Downloaded SharePoint app & the People’s Choice for Nintex Workflow for Office 365 and runner up in two categories for Nintex Forms for Office 365 :)

So given that there are so many great apps out there in the store, I thought this would be a good time to do some mini reviews of the apps for Project Server, so over the coming weeks will be diving into a few of them in a bit more detail, including:

Stay tuned :)

The Appies are coming…

appiesIn case you had missed the news, Microsoft have announced The Appies, a competition around creating an awesome app for SharePoint, Office 2013 or our favorites, Project Server, Project Online or the Project client (Jeremy had the scoop a few weeks ago and coined the Appies name which I think is pretty apt).

To qualify for the Appies, all you need to do is submit a new app or update an existing app between November 25th 2013 and January 31 2014 to be automatically entered.

So what can I win you may be asking?

Well, if you’re an app developer or vendor, the prize is pretty awesome, expanding the reach and promotion of your app by being:

  • Featured in the App Village for all of the attendees to view.
  • Featured in the Office Store.
  • Part of a specific marketing app awareness campaign as part of SharePoint Conference 2014
  • Featured in a video produced by Microsoft that will be presented to everyone in the Microsoft field
    Each app entered will be judged in six different categories, so there are plenty of chances of winning:

  • Best User Interface
  • Most Interesting Scenario
  • Most Business Value
  • Most Downloaded App
  • Peoples Choice App
  • Best International App

So what better way of spending some of that downtime around Christmas than by getting cracking on building an app and entering.  To get you started, here are some useful links:

Building your first Project Server app – https://epmsource.com/2013-apps/

The SharePoint 2013 App Playbook session from TechEd Australia

image

dev.office.com – Microsoft’s dedicated site for all Office app development

Apps for SharePoint – http://msdn.microsoft.com/en-us/office/dn448479

Apps for Office  – http://msdn.microsoft.com/en-us/office/dn425028

Project Task Pane Apps – http://msdn.microsoft.com/en-us/office/aa905469

Good luck Smile

 

Check out the MS Project Podcast

MS Project Podcast - On the airEarlier in the week I was lucky enough to be interviewed for the MS Project Podcast by Prasanna Adavi and David Fletcher.

The interview was a little about Nintex Workflow for Project Server, some Office 365 and a fair dose of my love of all things Project Server.

The episode is available at ttp://www.msprojectpodcast.com/post/65349292852/ep-2-nintex-workflows-project-server-2013-and or you can subscribe to the ongoing podcast at http://feeds.feedburner.com/msprojectpodcast

This is a great initiative by Prasanna and David and I encourage you all to get subscribing and sharing your Project stories with them Smile

Happy Holidays

This past year has been massive for epmsource.com, with record numbers of readers and traffic.

Happy Holidays

Next year looks to become an even bigger year with the release of Project, SharePoint and Project Server 2013. To get ready for this, I am taking a blogging holiday for a couple of weeks to spend some time with my family and will be back in late January.

To all of our readers, thank you for your continued support and happy holidays. See you bright and fresh in 2013 Smile

Hiding & Disabling ribbon items in Project Server, Part II

In the last post, we covered a few things you will need to know when hiding or disabling ribbon buttons in PWA. In this post we will look at how to actually hide the buttons.

Where to start?

Irrespective of whether you wish to hide or disable a button in the ribbon, you will need to follow the same basic process by building a solution in Visual Studio that will deploy your ribbon customisation.

To start, open up Visual Studio and choose to create an Empty SharePoint Project.

Create Empty SharePoint Project

Enter a name and then click on OK. You will then see the SharePoint Customisation Wizard, enter the local site you wish to use for debugging and choose to ‘Deploy as a sandboxed solution’.
SharePoint Customisation Wizard

On clicking finish, Visual Studio will create a solution ready to be customised.

To start with we need to create a feature,  this is a logical container for our customisation and allows the user to turn on and off the customisation by activating and deactivating the feature. To do so, right click on Features in the solution explorer and choose Add Feature.

Add Feature

A feature will be created and Visual Studio will show a page where you can enter information about the feature such as the name, description and the scope. In this case we are going to choose Web (for an individual site) as we want this change to deploy only to the /PWA site and not all the children sites.

Hidebutton Feature

Next we want to add an element to the solution, this is where the real work is done and contains the XML that will be used to configure our ribbon.

To add an element, right click on the project name, choose Add, New Item

Add New Item

In the dialog that is displayed, scroll down and select Empty Element and give it a name.

Add Element

Once you click add, the element will be created.

Blank Element

Now the empty element is created, all that is needed is to add the relevant XML to either disable or remove the button.

Disabling a button

For this example, we shall be disabling the EPT Change button from the Project Centre ribbon. To do so we need to know the ID of the item as defined in the ribbon so we can build up some XML that defines what we want to do to that item. To find the ID, we need to look through the PWARibbon.xml file, which can be a bit daunting, but after a while you will understand the structure and finding the Id’s will become simple.

SharePoint ribbon customisations use a defined XML schema which describes the structure and behaviour of the ribbon and the items that make it up. In order to disable the EPT Change button, we need to override the current structure and behaviour to change the configuration of what the button will do, in this case, pointing to a command that doesn’t exist.  In doing so, the ribbon will disable the button for us, giving us the desired effect.

To get the various attributes of the button, the PWARibbon.XML is your friend, containing all the configuration information you will need. In this case I have taken the configuration of the button and changed the command to point at a non existent command, which will cause the button to be disabled. This XML then needs to be put in the Element.xml file ready to be built, but more on that later.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
	<CustomAction
			Id="Ribbon.ContextualTabs.ProjectCenter.Home.ChangeProjectType.Change"
			Location="CommandUI.Ribbon"
			Title="Disables the EPT Change button in the Project Center Ribbon">
		<CommandUIExtension>
			<CommandUIDefinitions>
				<CommandUIDefinition Location="Ribbon.ContextualTabs.ProjectCenter.Home.ChangeProjectType.Change">
					<Button
						Id="Ribbon.ContextualTabs.ProjectCenter.Home.ChangeProjectType.Change"
						Command="ChangeReplacement"
						Sequence="10"
						Image16by16="/_layouts/$Resources:core,Language;/images/ps16x16.png"
						Image16by16Top="-112"
						Image16by16Left="-190"
						Image32by32="/_layouts/$Resources:core,Language;/images/ps32x32.png"
						Image32by32Top="-352"
						Image32by32Left="-96"
						LabelText="$Resources:pwafeatures,WEBPARTS_PROJECTCENTERPART_CM_CHANGE"
						TemplateAlias="o1"
						ToolTipTitle="$Resources:pwafeatures,PAGE_PDP_CM_CHANGE_WORKFLOW"
						ToolTipDescription="$Resources:pwafeatures,SUPER_TOOLTIP_CHANGE_PROJECT_TYPE"
						/>
				</CommandUIDefinition>
			</CommandUIDefinitions>
		</CommandUIExtension>
	</CustomAction>
</Elements>

Removing a button

The XML code required to remove a button is simpler. Instead of defining the XML for the whole button, all that is required is to redefine the CommandUIDefinition as per below.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
	<CustomAction
			Id="Ribbon.ContextualTabs.ProjectCenter.Home.ChangeProjectType.Change"
			Location="CommandUI.Ribbon">
		<CommandUIExtension>
			<CommandUIDefinitions>
				<CommandUIDefinition Location="Ribbon.ContextualTabs.ProjectCenter.Home.ChangeProjectType.Change" />
			</CommandUIDefinitions>
		</CommandUIExtension>
	</CustomAction>
</Elements>

When PWA parses the XML it uses this to remove the button as key items are not defined. Once again, all that is required to remove the button is to move this XML into the Elements.XML file and save ready for building.

In both cases, if you wish to hide or disable more than one button, you will need to duplicate the Custom Action mark up and change as necessary for each button.

How to Build

Finally once the configuration is completed, all that is required is to build and deploy the solution. To do so, right click on the project name and choose build, if everything is ok, you should see something similar to this in the build output:

Build Succeeded

If the build fails, then there may be a problem in your code. I have packaged the code up I used to build this post into a zip file which is available from my Skydrive account so you can compare or copy.

Once the build is successful you can deploy the solution by right clicking on the solution name and choosing deploy. VS 2010 will then deploy the solution to the site you entered for debugging and activate the solution in the site collection.

Activate Feature

Once the solution has been activated, you should see the changes to the ribbon in Project Center.

As you can see from above, creating a custom feature to hide or disabling buttons in the ribbon is relatively simple once you have the basic structure in place. Hopefully this post has explained how to build these customisations for use in your next project or internal implementation.