Transcript
Page 1: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Real World Business Workflow with SharePoint Designer 2010

http://bit.ly/kOqLnvIvan SandersSharePoint MVP Developer, [email protected] http://twitter.com/@iasanders

Page 3: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Agenda Prototyping in Visio 2010 Implementing in SPD2010 Extending with VS2010 Summary

Page 4: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

SPD Workflows?

SharePoint Online supports declarative workflowsCode-based workflows aren’t supported in the

Sandbox Prototyping in Visio 2010

SharePoint specific flowchart diagramExport to SharePoint Designer 2010

Implement in SharePoint Designer 2010Improved workflow designerIntegration of forms with InfoPath 2010

Extend with Visual Studio 2010Custom SPD2010 actionsEvents

Page 5: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Workflow in SPO?

New Workflow targetsReusable Workflows can be applied to any listSite Workflows can execute on site

New Workflow eventsEmitted by SharePoint Online (i.e. WorkflowStarted)Custom Events, Event Receivers

Page 6: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Discussion on Examples

Page 7: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Review Production Examples

Page 8: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Summary Prototype workflows in Visio 2010

Use diagrams to get sign-off Implement the workflow in SharePoint

Designer 2010Custom or copy & modify built in workflowActions, conditions and steps

Develop custom workflow actions and events in Visual Studio 2010

Page 9: SharePoint Intelligence Real World Business Workflow With Share Point Designer 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 Harbarhttp://www.harbar.net Jim Duncan Heather Solomon http://www.heathersolomon.com/blog Todd Klindt http://www.toddklindt.com/default.aspx Todd Baginski 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 http://blog.krichie.com Bill Baer http://blogs.technet.com/b/wbaer

Page 10: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Thank youhttp://bit.ly/kOqLnvIvan Sanders

SharePoint MVP Developer, [email protected] http://twitter.com/@iasanders

Page 11: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

What's on the Flash drive

Extras

Page 12: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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

Page 13: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Resources Download SharePoint Designer 2010

http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=d88a1505%2D849b%2D4587%2Db854%2Da7054ee28d66

Introducing SharePoint Designer 2010 http://

office.microsoft.com/en-us/sharepoint-designer-help/introducing-sharepoint-designer-2010-HA101782482.aspx

SharePoint Designer 2010 Workflow http://

office.microsoft.com/en-us/sharepoint-designer-help/introduction-to-designing-and-customizing-workflows-HA101859249.aspx

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

Page 14: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Performance

Addendum

Page 15: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Top Performance killers

Page 16: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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

Page 17: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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.

Page 18: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

SharePoint Performance

Page 19: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

Database Performance

Database VolumesSeparate 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.

Page 20: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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.

Page 21: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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

Page 22: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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

Page 23: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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

Page 24: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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

Page 25: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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.

Database Performance

Page 26: SharePoint Intelligence Real World Business Workflow With Share Point Designer 2010

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.


Top Related