Building advanced Project Server workflows with Nintex Workflow for Project Server as presented at the Microsoft Project Conference in Phoenix, AZ in March 2012
12. Build non sequential workflows Read project data using the
PSI from any data store
Multiple outcome tasks
Update project property
Simple to use
information
Lazy approvals
19. Exposes event data to the Allows web services to be
workflow called directly from the
workflow
String manipulation directly Associate an event with a
from within the workflow workflow
25. Inbuilt approval action Provide access to powerful
Integrated permissions cloud services
Upload to Office 365 from Ability to disable individual
within the workflow actions for debugging
Today we are going to look at Nintex Workflow for Project Server 2010, specifically we are going to look at the capabilities of Nintex Workflow for Project Server and how they can be leveraged in your organization.We are going to look at demand management, one of the key areas where NW4PS can assist in building DM workflows quickly and easily. Today was are going to look at how NW4PS can build advanced DM workflows that use state machines, advanced tasks and unlocking new data within Project Server directly into your workflow via the PSI.We are going to look at server side event handlers and show how Nintex can be attached to these events to quickly, simply and easily extend the capabilities and interoperability of your farmWe are going to look at how your project teams can benefit from using Nintex Workflow within their teams, from document approvals, to automated sharing of information with external partiesHopefully along the way you are going to pick up some tips and tricks on how to build and use these workflows
Nintex is the world’s leading SharePoint workflow company, with over 3000 customers in 90 countries serviced by a global network of high quality partners and service providers. Nintex delivers innovative software and cloud services that empower organisations to automate business processes, quickly and easily. Nintex is focused on delivering technology that is powerful, easy to use and that addresses the needs of business users, developers, and IT professionals alike. Products include Nintex Workflow, recognised by analysts as the most utilized third party tool for SharePoint, and Nintex Forms the breakthrough technology that enables SharePoint forms to be designed and deployed quickly and easy to any mobile or PC device.Nintex has grown an impressive list of customers across government, public, and private organisations including over a quarter of the Fortune 500, and over 100 major banks. From simple workflows, to complex processes that interconnect multiple systems, Nintex is revolutionising the way organisations automate business processes.We invite you to visit www.nintex.com for more information and trials.Workflow for everyoneImprove processes, simple or complex. (powerful to handle real World process logic; connected to systems, LOB apps, web services, cloud services, Office 365, CRM, Lync, Exchange and more)Easy to use (browser based, drag and drop drawing), easy to manage, and no code to write (and tracking/reporting: progress, stats, etc) For business users, IT pros, developers, designersDo More With SharePoint (100% Microsoft SharePoint; Gold Partner and PAC; aligned with Microsoft’s strategic and architectural direction)Extends and lights up SharePoint (not replace it). (NW: design, deploy, manage, all within SharePoint)Complements ‘space’ not covered by SPD and VSNintex Analytics: insight into content and usage to steer adoptionGlobal MomentumCustomers in 90+ countries, XX in Fortune 500500+ Partners in our Global Partner Program Localized in 16 languages Strong Channel and AllianceStarts from the value to Customers: get tangible business applications, with economical budgetAnalysts recognize Nintex reinforce SharePoint enterprise credibilityPartners open revenue opportunities from software and services. And have access to state of the art Partner Portal (SharePoint based, content, collateral, contextual price lists, integration with CRM for pipeline/opportunity management Microsoft: Field sales (SSPs, TSPs, Acct teams), subsidiary marketing and HQ product groups recognize the value Nintex bringsAccelerate deployment urgency and renewalsFits sales motions of SharePoint platform, ECALs mix, EA, BPIO step rate, BPMLotus Notes compete (app migration and empowered users)EPM, Clarity competeNA: Insight into content and usage to steer adoption, governance, roll-outsThat results in…Joint case studiesSales Materials readily available to MSFT field (infopedia)Presence in events, webinars, marketing campaigns, partner network best practices and recruitment activities, early adoption programs, PACs and more
Our Products are…
Talk to the stack – the various components, how Nintex Workflow 2010 sits on top of SharePoint Server 2010 as does Project ServerNintex Workflow for Project Server sits across both Project Server 2010 and Nintex Workflow 2010Nintex Workflow for Project Server provides capabilities in three main areas which we are going to look at in more detail today
What is demand management?Not going to go too deep, there are other sessions in the conference covering this off, but effectively, a demand management process captures all workproposals in one place, guides the proposals through a multistage governance process, helps users make decisions about which proposals to approve, and tracks progress on project execution until the work is completed. A key component within demand management is the workflow governance model implemented in Project Server.Project lifecycle, not just demandThis capability in Project Server doesn’t end with choosing which projects to execute, but is there across the whole project lifecycle all the way to closureCertainly in Australia, we are seeing this capability as a key reason for upgrading, gone are the days of having to run your governance process outside of the tool, no more paper based stage approval stage gating. Now organisations can leverage this capability to implement their governance process, implementing stage gate checklists, ensure stakeholder approvals, even checking that documents have been completed / approved before allowing the project to continue.Complexity of implementationImplementing demand management can be complex, it requires the full governance process to be defined and documented. Including identifying the steps, approvals, external calls, required custom fields, read only custom fields etc.Synchronisation of Project Server configuration, workflow and in some cases additional custom components.Simple stage based workflow tools exist, and can meet some organisational business requirementsUnderstanding of the Project Server components and architectureFor those more advanced workflow requirements, it’s usually necessary to call in a SharePoint workflow developer and a copy of VS2010 and build the workflowCan take a long time to build & test such workflowsSegway:So what are the common requirements
So what are some of the typical requirements for demand management workflowsSome of the simpler requirements include:Sequential Process - Typically a sequential workflow moving forward between phases, like the DM Dynamic workflowImplementation of Business Rules – the workflow will implement different rules depending on different property values, like the Sample Proposal OOBApproval / Rejection – Tasks are created for nominated users to either approve or rejectNotifications - Some notification when an event occurs in the process like a project proposal is approved or rejectedInteract with Project Properties – Being able to read and update project propertiesCLICKMore advanced requirement we see from customers include:ComplexLooping -Implement loops within the workflow that require a specific condition to be set before moving onMultiple outcome approvals - Approvals with more options than just approve / reject, things like ‘More information’Read Schedule data – Pull in data directly from the schedule, have all the milestones for the stage been met? Have certain key tasks been completed?Push and Pull information - When a project gets to a certain stage data is sent to an external system, likewise, project Id’s can be pulled in from an external system.Skip to Stage – Making sure your workflow has logic to that enables it to be skipped through to a specific stage without firing all business logic / approvals againChange Owner – Automatically change the owner of a project based on certain business logic.So what I want to do now is to take a look at how we can use Nintex to assist in some of these more advanced workflows
The ScenarioStep 1 : Enter a proposal via a PDP, in this case we also request the business unit to be selected. Step 2 : The proposal is routed to the Business unit for review, where they can either reject and stop the process, ask for more info and restart the process, or approve and move the process to the next stage.Step 3 : The proposal is then reviewed by the PMO, again they can either reject, ask for more info or approve the proposalStep 4 : The workflow will then do a lookup against Project Server to determine the relevant project manager for the business unitStep 5 : the Project is then reassigned to make that PM the owner ready for delivery.
10 mins
What we saw…State Machine – Great where we have workflows that jump around. In the designer they are represented as a State machines, but in reality they are a Sequential workflow behind the scenes with NW4PS doing all the heavy lifting of building the possible paths, options etc for you.Flexi Tasks – A capability of Nintex Workflow 2010, that allows you to assign a task to a person, with multiple outcomes, than can be conveniently configured to escalate, remind and accept approvals via email using a lazy approvalQuery Project Server – a new feature of NW4PS v2.0 , enabling access to the PSI, Project Server’s dedicated API, to query data from the Published & Draft data stores, again all configured through a simple web interface. Update Project Property – an enhanced feature in NW4PS allowing project properties to be updated, included in v2, the ability to update the project owner
1 min
Server Side Event handlersWhat is a Server side event handlerSince 2007 there have been this concept of a Server side event handlerAllows custom business logic to be associated with events, so things can be kicked off when certain data changes in PSThese events are grouped into different areas of Project Server, things like Project, Resource, Lookup Tables, Security, Statusing etc..Two types of eventsProject Server raises two types of events:Pre events – these are events that are raised whilst something is happening, for instance when a project is publishing or a resource is savingPost events – these are events that are raised once something has happened, for instance when a project is published or a resource is savedHard to implementImplementing a server side event handler is not simple, they require custom code to be developed and associated with the eventAs there is custom code involved, organisations required specialist skills, including .net developers, testing etc. There was no simple way to hook into this capability.SEGWAY:So the guys at Nintex started looking at how they could make this easier to use….
Initiated from a server side eventNintex Workflow for Project Server v2.0 provides a new capability allowing a workflow to be associated with a Project Server eventSimply create a workflow using the simple drag and drop interface of Nintex and associate it via simple GUI with the relevant event.CapabilitiesAll the capabilities of Nintex Workflow 2010, including :Flexi tasksState machinesNotificationsLogicIntegration– Web services etcPLUS, some NW4PS actions:A new event listener actionThe Query project data actionUpdate Project PropertiesBind to Over 115 events You are limited to using the post events, why? Well workflows can by their very nature be long running, so we didn’t want to slow down the underlying project server processing.
How hopefully you can already think of hundreds of things you could use event driven workflows with, but here are some ideas:NotifyCreate custom notifications when a project is published or saved.Alert Resource managers when a resource is added to a projectAlert the PMO when a resource is reactivatedNotify all workspace members to update their bookmarks when a workspace address is changedSecurityModify project workspace security post publishing or synching to add back in those custom permissionsModify project security as a result of a publishIntegrationQuery external data sources to populate project custom fieldsCall external systems such as BizTalk, CRM, other actionCall web servicesNotify external systems when the reporting DB has been updatedSynchronisationSynchronise lookup table changes with external lists such as SharePointSynchronise custom fields across PWA instancesSynchronise lookup tables across PWA instancesAuditTrigger audits of changes to a custom databaseKeep a history of changes to project custom fieldsAudit when a user delegation session commences or ceasesProcessKick off external processesIntegration with On & Off Ramping processes for resources that are made inactiveResource approval workflow, when assigned to a project and that project is published, commence a resource approval
Discuss the Building an archive project workflow.Project Server’s backup / restore capabilities are not great - Out of the box, Project Server can backup projects either on a request by request basis, or scheduled once a dayThere is no way to backup multiple copies of a schedule each time they are published during the day automaticallyGoing to look at using an event driven workflow to automatically create a version of the schedule each time it’s published and store it automatically in the Project Server ARCHIVE db.
What we saw…Get event data Allows your workflow to have access to event data, like the ProjectUID that was published. You don’t need to use this action, if your event driven workflow doesn’t need to know it’s context, like a blanket notificationCall web serviceAllows you to call web services, in this case we called a specific PSI web service, but it can be anything.Leveraging the Run Now capability allows you to try out the web services at design time to make sure the calls are correct.String builderWhen we needed to do heavy text manipulation , use a string builderAssociate event Finally, before you can use the workflow, you need to associate it to the server side event handler. Remember that if your workflow is using a Get Event Data, and listening for a specific event, you need to make sure you associate the workflow against that event, or you won’t get the data you are expecting.
1 min
Project workspaces are SharePoint sitesProject workspaces are types of SharePoint sites, however that have a few customisations that allow the project related content to be added and maintained, for example: Project documents, risks, issues & deliverables.As they are really just SharePoint, you can also extend and add items to them, basically anything SharePoint provides, such as new lists, libraries, wiki’s or other SharePoint capabilitiesJust like SharePoint, you can also incorporate workflows at this level.Different types of useForgetting the scenarios for use, there are a number of ways that workflows can be used in a workspace:Common workflows that are prebuilt and stored in the workspace template, these would typically by reusable, PMO specific workflowsPredefined workflows integrated directly into an overarching demand management workflow, things likeEnsuring project documents are approved before moving onEnsuring all risks of a certain category are accepted before the project moves through a stage gateAd-Hoc - simply providing the capability for teams to build their own workflows to meet project requirementsAll the capabilities of Nintex Workflow 2010As NW4PS sits on top of Nintex Workflow 2010, all the capabilities of NW4PS are available.That means, the 100+ actions of Nintex Workflow 2010, including the integration, web service calls, list actions, document actions etc are all there, available to be useNew in Release v2.0 some of the Nintex Workflow for Project Server actions are now available:Query Project dataUpdate Project Properties But some of the other offerings from Nintex are also available, things like:Nintex Live – the ability to interact with cloud based services such as Office 365, StrikeIron, dropbox, SkydriveetcNintex Forms – Create powerful cross device forms (PC, iPad, WP7, iPhone, Blackberry) in a simple drag and drop interface, potentially can use these to front mobile aware Project Detail Pages or even Resource Detail Pages.
Approvals – Approve project related documents, things like specifications, contracts being approved by stakeholdersApprove project related lists items like contact information.Risk & IssuesImplement a routing of issues before they are admitted onto the risk or issue registerEnsuring stakeholders or other parties are notified when a specific risk or issue type is raisedIntegrationIntegrating document approvals back to demand management, making sure documents are all approved before a stage gate can be passed.Pulling information from other systems directly into the project workspaceAutomatically creating project team meetings based on tasks in the schedule, and using Nintex’s inbuilt Calendar actions to automatically schedule that meeting! Document AssemblyUsing workflow to pull information in from other parts of Project Server via the PSI and Reporting database and assembling that information into a project document which can then be routed and approved.Automatically converting documents into PDF files NotificationCreate custom notifications within the workspace when events occur.Use a site scheduled workflow to regularly monitor risk and issues for currency / updates and alert / notify owner / assigneeCloudThrough integration with Nintex Live, you can access to a raft of actions to integrate your project workspace workflows with the cloud, integrating any external web based services, including things like Office 365, Dropbox and SkyDrive.
Artefact– Upload a project related artefact, such as a risk, issue or document, today we are going to look at a documentPM Review – The workflow will determine the project manager for the project, and assign a workflow task to them to review the item. Approved – Once approved, the artefact will be available for others to see and useShare – and want to make it so we can share that information with an external party who may be outside of the corporate firewall, think joint ventures, partners etc that you may not want to give access to your internal systems.
What we saw…Request approval Simple out of the box action to request approval of an item (document, or list item), even includes logic to secure the item if required (but not used this time). Nintex Live Integrate cloud based services into your workspace workflow,Upload to Office 365 – Using Nintex Live, upload a copy of the project document to an Office 365 site where external users that don’t have access to the project site, such as in a joint venture can view the file.Disable actions – Allows workflow actions to be disabled for testing purposes, but still leaves the action in a disabled state within the workflow.
V2.0 now available – In English and international versionsPlease go out and try what we have shown you.
Useful linksReleased a number of walk throughs covering demand management workflows both simple and advanced, as well as event driven workflows and project workspaces.Bit.ly link bundle – bit.ly + the session id will take you to a bundle of links for items discussed in this session, including product information, white papers, blogs, twitter etc. Alternatively, simply scan the QR code which will take you there as well.
So we’ve seen how simple and powerful Nintex workflow for Project Server is, we showed an advanced demand management scenario, using state machines, flexi tasks and how we can unlock capabilities of Project Server using the new Query Project Data action. Of course don’t forget the other new actions introduced in V2, including Change EPT, Update Project Properties etc that make building demand management workflows simpler than ever.We saw the new Event Driven workflows that allow workflows to be bound to the Server Side Event Handlers in project server, providing a new way to extend and enhance your project server instance, again using the simplicity of Nintex, the drag and drop, the wealth of actions and the new powerful debugging capabilities.Finally, we saw that Nintex Workflow for Project Server 2010 is not all about Project Server workflows. As it is a superset of Nintex Workflow, the full capabilities of Nintex are available to each project team within their project sites to help deliver their projects more effectively. We saw that the whole raft of Nintex capabilities are available for the project team to leverage, and how these can be extended further using Nintex Live to leverage cloud based services, including Office 365.