Introduction to SharePoint Designer 2010 Workflows By
Quontra Solutions Email
: info@quontrasolutions.com
Call us : 404 – 900 – 9988 WebSite : www.quontrasolutions.com
Agenda Prototyping in Visio 2010 Implementing in SPD2010 Extending with VS2010 Summary
SPD Workflows? SharePoint Online supports declarative workflows Code-based workflows aren’t supported in the Sandbox
Prototyping in Visio 2010 SharePoint specific flowchart diagram Export to SharePoint Designer 2010
Implement in SharePoint Designer 2010 Improved workflow designer Integration of forms with InfoPath 2010
Extend with Visual Studio 2010 Custom SPD2010 actions Events
Workflow in SPO? New Workflow targets Reusable Workflows can be applied to any list Site Workflows can execute on site
New Workflow events Emitted by SharePoint Online (i.e. WorkflowStarted) Custom Events, Event Receivers
Visio 2010
Prototyping in Visio 2010 SharePoint specific Workflow template Design in Visio using SharePoint shapes Provides workflow Visualization
SharePoint Workflow Shapes Terminators Start/Terminate
Conditions Data Permissions Dates
Actions Send Email Create List Item Check In/Out
Export to SharePoint Designer 2010 Visio exports to a VWI file Renamed zip file containing all workflow files .xoml and .xoml.rules define workflow .vdx file contains Visio drawing
SharePoint Designer 2010
SharePoint Designer 2010 Power tool for customizing SharePoint 2010 Data Workflow Design the look and feel of your site Create Site Templates
New User Interface Fluent UI from Office 2010/SharePoint 2010 Easy navigation from artifact to summary to galleries
Does not require developer/web skills Useful for Power Users, IT Pros and Developers
Free!
SPD2010 Workflow Supports List, Reusable, Site workflows Custom or based on built in workflows Workflow Summary Manage settings, start options, forms
Task designer Define advanced settings for process
Workflow designer Actions, Conditions, Steps
InfoPath 2010 for forms customization
Creating Custom Workflows New workflows are attached to a container List Workflows attached to a specific list Reusable Workflows are not attached to a list May be constrained to a content type Attached later using browser
Site Workflows are attached to the current site
Copy & Modify Workflows Based on any Globally Reusable Workflows Approval Collect Feedback Collect Signatures Publishing Approval
Can be limited to specific Content Type
Workflows Summary Manage settings for workflow Associated lists Start options Manual Started for Human Workflows Item created/changed events for Machine Workflows
Initiation Form Parameters Collect information for workflow
Local Variables Leveraged in workflow execution
Association Columns Applied to associated lists for Reusable Workflows
Workflow Designer ď‚— Improved declarative workflow designer
Task Process Designer
Actions Actions get work done in the workflow Examples: Create, copy, change, or delete list items/documents Check items in or out Send an e-mail Create a task for person or group Collect data via task for use in the workflow Pause or stop the workflow Log workflow information to a History list Set workflow variables or perform calculations
Conditions Control flow of the workflow Examples: If any value equals value If current item field equals value Created by a specific person Created in a specific date span Title field contains keywords
Steps Allow you to organize your workflow Steps performed in Serial or Parallel
Impersonation Workflows run with permissions of user
ď‚— Use impersonation step to run as workflow author
Workflow
SharePoint Designer 2010 Implementing Workflows
demo
SP2010 vs. SPO Can’t export from SPD2010 to VS2010 Can’t build Visual Studio code workflows in a
sandboxed solution
Summary Prototype workflows in Visio 2010 Use diagrams to get sign-off
Implement the workflow in SharePoint Designer 2010 Custom or copy & modify built in workflow Actions, conditions and steps
Develop custom workflow actions and events in Visual
Studio 2010
Who can you trust?? The blogs I trust through all of the noise. Maurice Prather
http://www.bluedoglimited.com/default.aspx
Andrew Connell
http://www.andrewconnell.com/blog
Spence Harbar
http://www.harbar.net
Jim Duncan
Heather Solomon http://www.heathersolomon.com/blog Todd Klindt Todd Baginski
http://www.toddklindt.com/default.aspx http://www.toddbaginski.com/blog
Todd Bleeker http://bit.ly/edlSm5 Jan Tielens http://weblogs.asp.net/jan Patrick Tisseghem http://www.u2u.info/Blogs/Patrick/default.aspx Wictor Wilen
http://www.wictorwilen.se
Ted Patisson
http://blog.tedpattison.net/default.aspx
Lars Fastrup
http://www.fastrup.net
Carsten Keutmann http://keutmann.blogspot.com Keith Richie Bill Baer
http://blog.krichie.com
http://blogs.technet.com/b/wbaer
What's on the Flash drive
Extras
Extras SharePoint 2007 SharePointSolutionInstaller WSPBuilder KerberosBuddy SharePoint Sushi SharePointManager2007 / 2010 SPViewPermissionSetting.wsp 2007 Office SDK1.5 SQL Scripts
SharePoint 2010 AutoSPInstaller 2010 Documentation BusinessIntelligenceLabs 2010 Tips and tricks SQL Scripts npp.5.8.6 Search.StandardMasterPageAdapter.wsp
Resources Download SharePoint Designer 2010 http://
www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=d88a1505
Introducing SharePoint Designer 2010 http://
office.microsoft.com/en-us/sharepoint-designer-help/introducing-sharepoint-design
SharePoint Designer 2010 Workflow http://
office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-designing-and
Creating SharePoint Workflow Solutions http://msdn.microsoft.com/en-us/library/ee231606.aspx
Walkthrough: Create a Custom Site Workflow Activity http://msdn.microsoft.com/en-us/library/ee231574.aspx
Performance
Addendum
Top Performance killers
Top Performance Killers Search Search uses SQL in a very I/O intensive fashion. It is sensitive to I/O latencies on the TempDB and the
Query and Crawl file groups. One of the more difficult and time consuming jobs for a Search Administrator is to schedule the Crawls so they are not over lapping while keeping Search results fresh
Indexing/Crawling Crawling and indexing a large volume of information, documents, and Web pages requires a large amount of
computer processing. The crawl process also consumes network and other resources. The SharePoint environment must be configured properly and monitored, to ensure that the crawling and indexing process does not adversely affect the service available to users. For example, content is usually crawled and indexed during off-peak hours when servers are underused in order to maintain peak-hour services for users.
Applications that may be crawling content in your production environment
Coveo Full and Incremental crawls to enable search
Newsgator to Update all of the colleague information and RSS feeds
DocAve for Reporting on and Performing SharePoint Management tasks
WSS Search indexes the Help information provided with SharePoint
SharePoint Profile Import syncs people profile
Office Search Full and Incremental updates Coveo would replace
Top Performance Killers Profile Import Profile imports are used with NGES to sync your AD user details to provide access to your feed
subscriptions and with SharePoint to sync your AD user details with your SharePoint User Profile
Large List Operations Having large lists by itself is not necessarily a performance issue. When SharePoint Server renders the
many items in those lists, that can cause spikes in render times and database blocking. One way to mitigate large lists is to use subfolders and create a hierarchical structure where each folder or subfolder has no more than 3,000 items. Identify large lists and work with the owners of the sites and lists to archive items or pursue other mitigation strategies
Heavy User Operation List Import/Write Another scenario of users having power they don’t realize. Importing large lists using excel or
synchronizing an access db. In SQL there’s little difference between these types of user operations.
Backup (SQL & Tape) Serious CPU and write disk I/O performance hit. SQL Litespeed or SQL 2008 backup with compression all
help to lessen the performance hit.
SharePoint Performance
Database Performance Database Volumes Separate database volumes into unique LUN’s consisting of
unique physical disk spindles.
Prioritize data among faster disks with ranking: SQL TempDB data files Database transaction log files Search database Content databases
In a heavily read-oriented portal site, prioritize data over logs. Separate out Search database transaction log from content
database transaction logs.
Database Performance SQL TempDB Data Files Recommended practice is that the number of data files allocated for TempDB
should be equal to number of core CPU’s in SQL Server.
TempDB data file sizes should be consistent across all data files. TempDB data files should be spread across unique LUN’s and separated from
Content DB, Search DB, etc…
TempDB Log file separated to unique LUN. Optimal TempDB data file sizes can be calculated using the following formula:
[MAX DB SIZE (KB)] X [.25] / [# CORES] = DATA FILE SIZE (KB)
Calculation result (starting size) should be roughly equal to 25% of the largest
content or search DB.
Use RAID 10; separate LUN from other database objects (content, search,
etc…).
“Autogrow” feature set to a fixed amount; if auto grow occurs, permanently
increase TempDB size.
Database Performance Content Databases 100 content databases per Web application 100GB per content database CAUTION: Major DB locking issues reported in collaborative DM
scenarios above 100GB
Need to ensure that you understand the issues based on number of
users, usage profiles, etc…
Service Level Agreement (SLA) requirements for backup and restore
will also have an impact on this decision.
KnowledgeLake Lab testing demonstrated SharePoint performance was
NOT impacted by utilizing larger DB sizes; tests included content DB sizes that were 100GB, 150GB, 200GB, 250GB, 300GB and 350GB .
Database Performance Content Databases - Continued Pre-construct and pre-size Script generation of empty database objects “Autogrow” feature on Use RAID 5 or RAID 10 logical units RAID 10 is the best choice when cost is not a concern. RAID 5 will be sufficient and will save on costs, since content databases tend to be more read
intensive than write intensive.
Multi-core computer running SQL Server Primary file group could consist of a data file for each CPU core present in SQL Server. Move each data file to separate logical units consisting of unique physical disk spindles.
Database Performance Search Database Pre-construct and pre-size Script generation of empty database objects “Autogrow” feature on Use RAID 10 logical units Should be a requirement for large-scale systems Search database is extremely read/write intensive Multi-core computer running SQL Server Primary file group could consist of a data file for each CPU core present in SQL Server. Move each data file to separate logical units consisting of unique physical disk spindles.
Database Performance Search Database Search database is VERY read/write intensive! Do not place any other database data files on any logical unit where
search database files reside.
If possible, try to ensure that the RAID 10 logical units for the search
database data files do not share their physical spindles with other databases.
Place the search database log files on an independent logical unit.
Database Performance Database Maintenance Physical Volume File Fragmentation: Defragment your physical volumes on a regular schedule for increased
performance!
LUN’s need to be 20-50% larger than the data stored on them allow for
effective defragmentation of the data files.
Performance Monitor Counters to watch: Average Disk Queue Length
Single Digit values are optimal.
Occasional double-digit values aren’t a large concern.
Sustained triple-digit values require attention.
Page Performance Minimize HTTP Requests 80% of the end-user response time is spent on the front-end. Most of this time is tied
up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc. Reducing the number of components in turn reduces the number of HTTP requests required to render the page. This is the key to faster pages.
For static components: implement "Never expire" policy by setting far future Expires header
Avoid Redirects Redirects are accomplished using the 301 and 302 status codes. Here’s an example of
the HTTP headers in a 301 response:
Optimize Images After a designer is done with creating the images for your web page, there are still
some things you can try before you uploading the images to your web server
Avoid Empty Image src Image with empty string src attribute occurs more than one will expect.
Thank you!!