Skipping stages with ‘Change / Restart Workflow’ in Project Server 2013 and Project Online & SharePoint Designer

SharePoint Designer 2013 is another tool that provides a means for building workflows, what is new in the 2013 release is it can now build Demand Management workflows for Project Server 2013 and Project Online. Now I am not going to go into the specifics of the tool, as you probably already know my preference, but irrespective of that, I thought it important to share how to build workflows that leverage the Skip to Stage functionality with SPD.

Now I have been advocating using Skip to Stage in workflows forever, if your building a long running workflow, which demand management workflows always tend to be, you would be foolish not to think that the workflow will be perfect from day one and not need updating and restarting at some point. Obviously the more complex your process (and thus the number of tasks, approvals etc. that need to be reapproved / declined) the more painful it becomes to restart a workflow and then progress through to the point you were at before the restart. This is where skip to stage comes in, when the workflow is restarted using Project Server’s inbuilt ‘Change or Restart Workflow’ function and a stage to skip to is selected, the workflow is passed some special settings letting it know that it needs to restart and skip through to the stage the user chose. However, Skip to Stage only works if you build your workflow to take it into account, it doesn’t ‘just work’.

Change Restart Workflows

I should note, this post comes as the result of a question in the Project forums on MSDN / Technet. Specifically, the original poster was having trouble understanding what was happening when using the Skip to Stage functionality of a SPD Project Server 2013 workflow.

So how do you build a workflow to take into account Skip to Stage logic?

Assume the following SPD workflow, it consists of three simple stages, each sequentially transitioning to one another. For each stage, there is a simple Log to workflow history list action, so we can see what the workflow is doing, and a Wait for the Project to be Submitted action (this stop the workflow executing and zooming through to the end).

Example Workflow without skipping

In normal operation, when this workflow runs it will enter stage one, log ‘Stage 1’ to the workflow history list, and then pause waiting for the project to be submitted via PWA. Once submitted, it will move into the next stage, and so on, until it gets to the last stage, when on the final submit the workflow will complete.

If you try and restart this workflow via the Change / Restart Workflow feature, and choose to Skip the workflow on to Stage 3, you would logically expect the workflow to just kick off in Stage 3. However this is not the case, even though the new Workflow Manager workflows allow you to build workflows that jump back and forth, they are still sequential behind the scenes, meaning your workflow needs to start on Stage 1 and move through the various stages to get to Stage 3, including any logic that is defined.

In order to skip the logic, the secret is to use a new action in SharePoint Designer called ‘Include Stage’. When you add the ‘Include Stage’ action, you will see a step entitled ‘If Project Web App starts the workflow normally or restarts the workflow and includes this stage’ added to the designer. This step is the key for ensuring when a workflow is restarted using Change / Restart workflow.

Skip to Stage logic

So what you will see:

  • If a workflow is stated normally, i.e. when creating a project, then the actions within will be run (in the example, the Wait for Event: When a project is submitted action)
  • If the workflow is restarted using Change / Restart Workflow and the stage being evaluated is the one being skipped to, or follows it, then the actions within the step will be run.
  • If the workflow is restarted using Change / Restart Workflow and the stage being evaluated is prior to the stage being skipped to, then the actions within the step will NOT be run.

It is important to remember that any other actions outside of the ‘Include Stage’ step will continue to be run, irrespective of whether the workflow was started normally or restarted.

So there you have it, if you’re going to be building demand management workflows using SPD, then best practice has to be to wrap all your business logic / approvals in one of these ‘Include Stage’ steps.

One final bit of info, the ‘Include Stage’ action also is available for use in the Transition section of the stages, meaning you can change the logic and flow of your workflows depending if the workflow was restarted or not. I am not going to dig into this too much now, but it is there.

Many thanks to John from the Project Product Team for his assistance with the above.

Create your own ‘Getting Started with the Project Web App’ carousel

One of the most obvious differences between Project Server 2013 and 2010 is the look and feel, specifically the new modern UI style tiles to help you perform tasks / find options quickly and easily called ‘The Carousel’.  On a un-customised PWA site you will see two rows of these tiles, the ‘Getting Started’ and the ‘Track your work’ options.

image

For a while I have been thinking about how powerful one of these carousels would be within your own organisation, perhaps providing a direct link to view the queue, a link to that report everyone uses, a central lessons learned register, a PMO site, or even your favourite EPM / PPM blog. Whilst recently catching up on the Project blog, I noticed this post talking about how how the carousels were based on SharePoint’s promoted links app, so thought I would see how easily I could create my own customised carousel.

Creating the Promoted Link app.

In your PWA site (In this post, I have used Project Online, but you could also do this in your on premises Project Server 2013) , click on the Settings (Cog) icon and choose ‘Add an App’

PWA - Add an App

In the ‘Your Apps’ screen, you can either scroll through the available apps, or do as I did and choose to search for ‘Promoted’.

Promoted Links App

Click on the Promoted Links app, you will then be prompted to give it a name. In this case I am going to call it ‘EPMSource Links’  and click on Create.

Create Promoted Links app

The app will then be added and ready for you to start customising.

Promoted Links app added

Adding content to your app

Click on the EPMSource Links app to open it, you will see an empty screen advising that you can add new links from the ‘All Promoted Links’ view.

EPMSource Links

Click on the ‘All Promoted Links’ view to open up the correct view, then click on the ‘Add Item ‘ to add your first piece of content.

Add New Item

A new item screen will be displayed where links themselves can be configured.

My Queued Jobs Link

To start with I am going to create a link through to the My Queued Jobs page (MyJobs.apsx). As the carousel is visual, I also need to create a 150 x 150 image to show up, in this case I have artistically created a large white Q on a green square and uploaded it to the Site Collection Images.

My Queued Jobs Settings

Then fill in the following items:

  • Title, this is what will show up on the individual item in the carousel
  • Background Image, this is what will show up as the contents of the tile
  • Description, this is info that will be showed when the mouse hovers on the tile
  • Link Location, this is the location the browser will go to when the tile is clicked
  • Launch behaviour, this determines if the link opens in the browser, a new browser or a dialog box
  • Order, used to order the tiles when there are more than one.
    When your happy, click Save.

Adding a link to external content

Following the above steps, add a second item with the following settings:

EPMSource settings

This time the tile will be the second one and link out to this blog.

If you’ve done everything right, you should see something like this

The configured carousel

Adding the Promoted links to the PWA page.

The final step to use our links is to add it to the front page, thankfully that’s pretty easy.

On the PWA home page, click on the Settings (Cog) and choose Edit Page.

Edit the Page

Click on the ‘Add a Web Part’ link for the zone where you want to add the links. The Add Web Part UI will be displayed, allowing you to choose a web part, or in our case, an ‘App part’ to add to the page.

Make sure you select the Apps category, then the EPMSource Links, then click on Add.

Add the App Part

The app part will then be added to the PWA homepage, click on Stop Editing and you should see something like this.

The final completed carousel in PWA

As you can see, it’s pretty easy to customise and add new links to Project related content via the Promoted Links app. Of course you are not just limited to doing this in PWA, the Promoted Links app is also available in SharePoint, so you can add a similar customisations to your Project workspaces and SharePoint sites.

Time to resume service with a few quick links…

Come in, we're openAfter a month long holiday, it’s time to resume normal blog service and share some EPM goodness. I

I have a couple of posts that I am working on at the moment, but in the meantime here are few gems that you should find useful Smile

Developing Project Server apps walkthrough

Following on from my series covering the building the Publish All Enterprise Project app, Microsoft have released an official walk through to build a Project Server app over at http://msdn.microsoft.com/en-us/library/office/jj873844.aspx. This excellent walk through takes you through all that is needed to build a SharePoint hosted Quick Statusing app.

Debugging against Project Online

If you building a Project Server app, you are going to need a development environment. Whilst you can spin up your own dedicated on premise development environment, a far easier option is to use a Project Online tenant. Unfortunately, Office 365 doesn’t have the concept of a Project Online developer site out of the box. This excellent post by Alexander Vanwynsberghe, outlines how to use the SharePoint Online Management Shell to activate a special Developer site collection feature to a non development site collection (or in our case a Project Online site collection).

Default permissions for the new SharePoint based security groups

I have been spending a bit of time with the new SharePoint permission mode of Project Server that leverages SharePoint based groups for users instead of the traditional Project Server based groups. SharePoint groups make it much simpler to manage permissions within a Project Server instance, but it’s important to know what the underlying permissions are assigned (e.g. can a member of the Administrator group change a workflow, can a member of the Project Manager group manage rules?). Luckily there is a must read article over at http://technet.microsoft.com/en-us/library/jj219510.aspx that outlines what the default permissions are for SharePoint security groups.

And finally…

Make sure you check out the365project.net, we have had some fantastic tips and tricks covering Project, Project Server and SharePoint posted over the holiday period, with plenty more queued up to come.

the365project.net - zoomed out

But we are always looking for new contributors, so if your interested, drop me a line via the contact link on epmsource, or use the submit a tip link on the site..

Introducing the365project.net

Welcome to the365project.netWith the introduction of Office 2013 and the arrival of Project Online in Office 365 I thought it would be a good time to try and bring some members of the Project and SharePoint community together to launch a new community site. So it is my great pleasure to introduce the365project.net.

Welcome to the365project.net

What is the365project.net? Well it’s a new tips and tricks site for the  Project, Project Server and SharePoint, covering the existing versions and the new 2013 wave of products. As the name suggests the content will also cover some parts of Office 365, Microsoft cloud based solution that provides SharePoint and the 2013 offering has finally been joined with a dedicated Project Server offering called Project Online.

We have been lucky enough to attract authors from all over the world including SharePoint Masters, Community Contributors, MVPs Microsoft staff and other well respected experts with tips for all audiences including End User, IT Pro, Consultants & Developers. Of course we are always looking for new authors and tips, so if there is a tip you would like to share with the community, please submit it through the submit a tip link and we’ll be in touch.

We hope to be posting 2-3 original posts a week over on the site, so make sure you add it to your favourite RSS aggregator, Twitter account (@365prj) or just plain old favourites.

Building your first Project Server app : Part 2 – Getting the basic app up and running

In this second post covering how to build an app for Project Server to publish all projects, we will take a look at a new component of Project Server, the JavaScript Object Model or JSOM.

In the past when you wished to interact with Project Server the only real option you had would be to use the PSI, or Project Server Interface, a set of API’s that could be called that would perform tasks within the project server instance like reading a project, creating a resource, or adding a job to the queue.

With Project Server 2013, Microsoft introduced another API called the Client Side Object Model (CSOM) which can be accessed via .Net, Silverlight, and Windows Phone. They also exposed the CSOM via JavaScript and gave it a different name, the JSOM, which is accessible from web pages, custom application pages and the ribbon, which is exactly what we want for our app that will publish our projects.

The new Project JSOM

It’s important to note that the CSOM and JSOM do not expose all the capabilities of the PSI at present, but I understand these capabilities are constantly being updated to the point that in the future we should eventually see parity.

For our app we need to do a few things with the JSOM, firstly, we need to get all of the projects within the Project Web App instance then we need to iterate through them.

To do this:

1. Open up your Napa project and navigate to the App.js file in the script folder. Out of the box Napa will add some default content into the App.js file, select it all and delete the content.

2. Now we are going to add some code to perform the main functions of our app. We need to add some global variables to store the information we will use later and set up to call Project Server for the project data.

// Declare global variables.
var projContext;
var projects;

// Get the projects collection.
function GetProjects() {

    // Display a message to the user to show we are reading the projects.
    $('#spanMessage').text('Reading projects...');
    // Initialize the current client context.
    projContext = PS.ProjectContext.get_current();

    // Get the projects collection.
    projects = projContext.get_projects();

    // Register the request for information that you want to run on the server.
    projContext.load(projects);

    // Run the request on the server.
    projContext.executeQueryAsync(IterateThroughProjects, QueryFailed);
}

The final statement projContext.executeQueryAsync(IterateThroughProjects, QueryFailed) sends the request off to the server and if successful will call IterateThroughProjects or if it failed calls QueryFailed.

3. The real guts of our app is in the IterateThroughProjects function which takes the list of projects and loops through them, checking the project out, publishing it and then checking it back in.

function IterateThroughProjects(response) {
    // Get the enumerator and iterate through the collection.
    var enumerator = projects.getEnumerator();
    while (enumerator.moveNext()) {
        var project = enumerator.get_current();

        // Get the target project and then check it out. The checkOut function
        // returns the draft version of the project.
        var draftProject = project.checkOut();

        // Specify "true" to also check the project in.
        var publishJob = draftProject.publish(true);

        // Register the job that you want to run on the server and specify the
        // timeout duration and callback function.
        projContext.waitForQueueAsync(publishJob, 30, QueueJobSent);
    }
}

Notice how easy it is in the code to check out the project, publish it and drop it back on the queue? Three simple lines of code.

4. Finally all that’s required is to add a bit of error handling code..

// Print the JobState return code, which gives the status of the queue job.
function QueueJobSent(response) {
    if (response == 0) {
        $('#spanMessage').text('Publishing projects...');
    } else
    if (response == 4) {
        $('#spanMessage').text('Projects published...');
    }
}
function QueryFailed(sender, args) {
    $('#spanMessage').text('Request failed: ' + args.get_message());
}

5. And a little bit of code at the beginning to make sure that our JSOM doesn’t kick off until the CSOM library has been loaded and the final code should look like this:

// Declare global variables.
var projContext;
var projects;

$(document).ready(function () {
    SP.SOD.executeFunc('sp.js', 'SP.ClientContext', GetProjects);
});

// Get the projects collection.
function GetProjects() {

   // Display a message to the user to show we are reading the projects.
   $('#spanMessage').text('Reading projects...');

   // Initialize the current client context.
   projContext = PS.ProjectContext.get_current();

   // Get the projects collection.
   projects = projContext.get_projects();

   // Register the request for information that you want to run on the server.
   projContext.load(projects);

   // Run the request on the server.
   projContext.executeQueryAsync(IterateThroughProjects, QueryFailed);
}

function IterateThroughProjects(response) {
   // Get the enumerator and iterate through the collection.
   var enumerator = projects.getEnumerator();
   while (enumerator.moveNext()) {
      var project = enumerator.get_current();

      // Get the target project and then check it out. The checkOut function
      // returns the draft version of the project.
      var draftProject = project.checkOut();

      // Specify "true" to also check the project in.
      var publishJob = draftProject.publish(true);

      // Register the job that you want to run on the server and specify the
      // timeout duration and callback function.
      projContext.waitForQueueAsync(publishJob, 30, QueueJobSent);
   }
}

// Print the JobState return code, which gives the status of the queue job.
function QueueJobSent(response) {
   // Whilst the call is status = 0, i.e happening, then show the publishing message
   if (response == 0) {
	$('#spanMessage').text('Publishing projects...');
   }
   else
   // When the call has come back successfully, show the published message and then navigate back
   if (response == 4) {
        $('#spanMessage').text('Projects published...');
   }
}

// If there is a failure, show it and stay on the page.
function QueryFailed(sender, args) {
   $('#spanMessage').text('Request failed: ' + args.get_message());
}

6. Next we need to update the Default.aspx page in order to call our code and to display what is going on. To do this, open the Default.aspxpage in the Pages folder and replace the contents with the text below:

<%-- The following 4 lines are ASP.NET directives needed when using SharePoint components --%>
<%@ Page Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" MasterPageFile="~masterurl/default.master" language="C#" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%-- The markup and script in the following Content element will be placed in the <head> of the page --%>
<asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server">

    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js" type="text/javascript"></script>
  
	<!-- The following scripts are needed when using the SharePoint object model -->
    <script type="text/javascript" src="/_layouts/15/sp.runtime.debug.js"></script>
    <script type="text/javascript" src="/_layouts/15/sp.debug.js"></script>
	<script type="text/javascript" src="/_layouts/15/ps.debug.js"></script>

    <!-- Add your CSS styles to the following file -->
    <link rel="Stylesheet" type="text/css" href="../Content/App.css" />

    <!-- Add your JavaScript to the following file -->
    <script type="text/javascript" src="../Scripts/App.js"></script>
</asp:Content>

<%-- The markup and script in the following Content element will be placed in the <body> of the page --%>
<asp:Content ID="Content2" ContentPlaceHolderId="PlaceHolderMain" runat="server">
<div id="divMessage" style="text-align:center">
    <br />
    <h1 id="spanMessage"></h1>
</div>
</asp:Content>

7. Before the app can be run we need to the permissions for the app, to do this click on the Properties icon in the bottom left hand corner.

Napa Properties

The properties of the app will be displayed, where you can change the name and other properties of the app. To change the permission click on permissions on the left hand side and find the permission for Projects. Set this to be write.

Setting Properties of the app

This permission allows the app to read & write all projects in the PWA app.

8. Now the main components of the app have been built, click on the Run Project icon to compile and deploy the app.

Napa - Run Project

On clicking Run Project, Napa will take the code, compile it and deploy the app to the developer site automatically ready for testing.

Publish Project to Developer Site

9. Once deployed click on the link in the Launch App dialog to initiate the app. The first time you run the app you will be asked if you trust it the app, choose ‘Trust it’

Do you trust this app?

The app will then run and you will see the following error message, which is perfectly normal.

App Request Failed

The reason the app errors is that it is trying to contact Project Server’s JSOM, but the developer site is not a Project Server site, instead it’s a normal SharePoint site, in order to test our app correctly we need to deploy it over to a PWA site.

10. To publish the app to PWA, click on the publish icon in the bottom left hand corner

Napa - Publish Project for deployment

Napa will then take you through the publishing process and provide a link to the final .app file that we can then upload to our organization specific app store that we can use to deploy our in house built apps called the Corporate catalog. By default, in Office 365 tenant the Corporate catalog is not configured so we have to spend a few moments setting it up.

11. The catalog is now ready to deploy our app. To do so click on New App and choose to upload the app we created in Napa above.

Apps for SharePoint

12. You will be prompted to add additional information for the app including logo’s, icons etc. For now we’ll just leave them and click Save.

Define App Metadata

With that, the app should now be in the Corporate Catalog and ready for us to use in our Project Online instance.

13. To add it to Project Online, open up the PWA site, click on the Gear icon and choose Add an App

PWA - Add an App

14. In the list of available apps you will see our publish app, click on it.

Add the Publish All Projects apps

15. Once again you will be asked if you trust the app, choose to Trust It. After a few seconds the app will be installed and ready to use.

Running the app

To run the app, make sure you have some enterprise projects in your PWA instance. Having an ‘Enterprise Project’ is important, the app will not publish task list linked projects as the publish concept doesn’t exist for these projects.

1. To kick the app off, click on the app tile. The default.aspx page will render and kick off our JSOM code to retrieve the projects, check the projects out and then publish and check them back in. When the projects have published you will see a screen like below.

Publish All Projects - Projects Published!

2. To check the app worked as advertised, click on the Gear icon, choose PWA Settings and Manage Queue Settings. Change the filter to show succeeded queue jobs and you should see all the published projects Smile

Manage Queue Jobs

So there we have it an app that will publish all enterprise projects in a PWA instance using the new SharePoint app model and JSOM. Hopefully you can follow the steps in these blog posts of how to build your own, but in case not, I have shared the Napa project so you can run the project and publish it yourself. To get access to the source go to this link (http://aka.ms/ypwd0c).

In the next post in this series, we will look at how we can submit the app to the SharePoint store to distribute to other Project Server users.

Building your first Project Server app : Part 1 – Getting Started – Setting up a development environment

In this first post on how to build an app for Project Server to publish all projects, we will look at setting up your development environment.

Before we start, for the purpose of these posts we are going to leverage an Office 365 based Project Online tenant. Using Office 365 takes away some of the pain of setting up your own server environment and can be provisioned in a fraction of the time. It should also be noted that whatever works on Office 365 will also work on premise, so we can rest assured that our app will work in all environments.

The process of signing up for online account is relatively simple and takes about 20 minutes to provision. To sign up for a tenant, click here and following the prompts. Once the tenant is provisioned you need to create a special ‘Developer site collection’ by creating a new Private Site Collection with the developer template.

SharePoint Developer Site

To start building our app, we are going to use an app itself that Microsoft created called ‘Napa’. To install Napa, click on the Build an app tile and you will be redirected to the store to install the ‘Napa’ tools. They will install when you click on the ‘Add it’ button.

Napa Office 365 Development Tools in App store

Once it is installed, the Napa app will be available to use, click on it to open up the web based Napa editor. Napa is a really cool technology providing a web based development environment in the cloud that you can develop apps in and then at the touch of a button push them down into your SharePoint environment.

When the Napa editor has loaded, choose to create an App for SharePoint and name the app Publish All Projects.

What type of app do you want to build?

Napa will then go off and create a template for your app which you can then fill in.

Napa Online Editor

Setting up the corporate catalog

The second thing we need to set up is a location to deploy our apps to within the tenant called a Corporate Catalog. Whilst SharePoint has a public app store, it also has an organization specific app store that you can use to deploy your internal apps into.

In Office 365, choose SharePoint from the Admin menu.

SharePoint menu

On the left hand menu, choose Apps.

Manage SharePoint Apps

Choose app catalog. The first time you do this, Office 365 will ask you to create a new app catalog, choose ‘Create a new app catalog site’ and click on OK and then enter the requested details.

Create App Catalog

Once the site is provisioned, navigate to it and click on Apps for SharePoint.

App Catalog

In the next post, we will use the developer site and Napa to build our first app for Project Server.

Building your first Project Server app : Part Zero–The introduction

PublishAllLogoOne of the many exciting additions to Office 2013 was the introduction of apps, through these apps it is possible to add, extend and enhance the functionality available to users, for example you could have an app to help track election results, add Facebook social to your sites or build workflows. The apps themselves are available for a number of the desktop clients, as well as SharePoint 2013 and Project Server 2013.

The idea behind apps in SharePoint is pretty simple, instead of allowing users to deploy what are known as ‘Full Trust Solutions’ to the SharePoint environment (these are solutions that execute code directly on the SharePoint servers) that could destabilise or alter SharePoint and impact it’s availability, Apps allow the same functionality to be hooked in remotely. The key to the app model is some clever architecture, allowing apps to be run either inside an isolate app site within SharePoint (known as SharePoint hosted), within a Microsoft Azure instance (Auto Hosted) or remotely on a providers infrastructure (known as Provider hosted).  Through a number web friendly technologies such as oData, REST and CSOM, these apps can hook into SharePoint and Project Server seamlessly as if they were still installed on the same servers.

The apps, once built are available to be added to your SharePoint and Project Server sites from a central app marketplace. There are two options to choose from, a Microsoft hosted and operated app store, where apps are submitted, validated and then made available for download either at cost, or in a trial mode. Or if an organisation has developed their own app that they just want used internally, they can be deployed to a organisational app store called the Corporate Catalog (we’ll talk more about that later on).

SharePoint App Store

Of course the great thing about apps and the Microsoft ecosystem in general is the information and tooling that is provided for you to build and customise these apps. Microsoft has spun up a dedicated blog and developer site to guide you through the concepts, requirements and process of building apps.

So where is all this going?

Well, I thought I would set out to build an app for Project Server. Thanks to an idea from a mailing list and some discussion amongst some of the Project MVPs, I decided to set out to build an app that when installed in PWA, allows you to publish all Enterprise Projects at the click of a button.

There is a fair amount of things to cover, so I have created a number of posts to cover the various topics:

    So make sure you stay tuned over the next few weeks

Smile

Where has Close tasks to update gone in Project Server 2013?

Close Task to update was an interesting feature that was used by the Project Manager to stop the selected tasks from showing up in resource task and timesheet views, therefore stopping users from recording time against those tasks.

Close Tasks to Update in Project Server 2010

In Project Server 2013, the close task to update capability has changed, to leverage a new ‘Locked’ capability which behaves in a similar manner, basically you can choose to lock a task through PWA and once locked and published, the task will no longer show up in the Task and Timesheets views.

To use the locked field you first need to add it to a view, in this case I have added it to the Task Summary view for a Project.

Task Summary - Add locked

When you open a project and choose that view you will see the new Locked field on the right hand side. By default all tasks will be set to ‘No’.

Project Server 2013 - Locked field

To lock a task, edit the project and change the value.

Add tasks to timesheet - after locked

When you publish the schedule the tasks that are locked will no longer appear in the task and timesheet views as can be seen in the table below.

Before After
Add tasks to timesheet - before locked Capture4

SharePoint Saturday Sydney is coming – Saturday October 27th

I don't really, Melbourne is the place for me.SharePoint Saturday Sydney has come around again and I am pleased to announce that I have been given the opportunity to present on one of my favourite new features of 2013, Work Management.

The session title and abstract are as follows:

Work Management in SharePoint 2013: What it is and why you will love it

If you have ever tried to track tasks in SharePoint, lists or pieces of paper, you are going to love the new Work Management capabilities of SharePoint 2013. Come along to this session to get an understanding of these exciting new capabilities and how quickly you can start using them in your organisation for project and work management

Registration for SharePoint Saturday is free and includes top notch sessions from local and international experts on SharePoint including MCM’s, MVPs and Microsoft themselves. You can see the full agenda and speakers at http://sharepointsaturday.org/sydney/default.aspx

If you are in Sydney on the 27th and interested in SharePoint, especially the new version, come on down, the details are:

When: Saturday 27th October 2012

Where: Cliftons, 190 George Street, Sydney, NSW

Cost: Free – register at http://spssyd12.eventbrite.com/

I look forward to seeing you there Smile

Project 2013 Ignite

ProjectIgniteNearly three years ago I wrote about the excellent Project 2010 Ignite training that was delivered in Sydney. This week Christophe & Jan made the trek down to Australia again to deliver the 2013 version of the training, Project 2013 Ignite.

Just like before, the training offers a deep dive into the delta between the 2010 and 2013 products and is chock full of information, demonstrations and most importantly, interaction with other PPM partners from around the region, customers and the Microsoft field.

Ingite Training

Prior to the training I thought I knew the 2013 features pretty well, but Christophe and Jan soon showed that wasn’t the case.  The sessions cover all aspects of Project & Project Server including Project Online, Business Intelligence and Reporting, the new App store & associated opportunities, developer deep dive and lots and lots of IT pro content. You can read more of the full agenda here.

Ignite - Jan has changed roles?

Whilst the Australian leg of Ignite is over, there are still opportunities to attend the training either in person or virtually via Lync. If you are a PPM & SharePoint consultant or a customer wanting to know more about the 2013 wave, you would be silly not to attend.