SharePoint Intelligence Introduction To Share Point Designer Workflows


Published on

This session introduces the basics of SharePoint Designer 2010 workflows. When you understand the building blocks of workflow actions, conditions, and steps you can quickly add workflows to automate processes and help improve your organization’s productivity and efficiency.

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Who i I am nothing but SharePoint Clients
  • SharePoint Intelligence Introduction To Share Point Designer Workflows

    1. 1. Introduction to SharePoint Designer 2010 Workflows<br /><br />Ivan Sanders<br />SharePoint MVP Developer, Evangelist<br /><br /><br />
    2. 2.
    3. 3. Agenda<br />Prototyping in Visio 2010<br />Implementing in SPD2010<br />Extending with VS2010<br />Summary<br />
    4. 4. SPD Workflows?<br />SharePoint Online supports declarative workflows<br />Code-based workflows aren’t supported in the Sandbox<br />Prototyping in Visio 2010<br />SharePoint specific flowchart diagram<br />Export to SharePoint Designer 2010<br />Implement in SharePoint Designer 2010<br />Improved workflow designer<br />Integration of forms with InfoPath 2010<br />Extend with Visual Studio 2010<br />Custom SPD2010 actions<br />Events<br />
    5. 5. Workflow in SPO?<br />New Workflow targets<br />Reusable Workflows can be applied to any list<br />Site Workflows can execute on site <br />New Workflow events<br />Emitted by SharePoint Online (i.e. WorkflowStarted)<br />Custom Events, Event Receivers<br />
    6. 6. Visio 2010<br />
    7. 7. Prototyping in Visio 2010<br />SharePoint specific Workflow template<br />Design in Visio using SharePoint shapes<br />Provides workflow Visualization<br />
    8. 8. SharePoint Workflow Shapes<br />Terminators<br />Start/Terminate<br />Conditions<br />Data<br />Permissions<br />Dates<br />Actions<br />Send Email<br />Create List Item <br />Check In/Out<br />
    9. 9. Export to SharePoint Designer 2010<br />Visio exports to a VWI file <br />Renamed zip file containing all workflow files<br />.xoml and .xoml.rules define workflow<br />.vdx file contains Visio drawing<br />
    10. 10. SharePoint Designer 2010<br />
    11. 11. SharePoint Designer 2010<br />Power tool for customizing SharePoint 2010<br />Data<br />Workflow<br />Design the look and feel of your site<br />Create Site Templates<br />New User Interface<br />Fluent UI from Office 2010/SharePoint 2010<br />Easy navigation from artifact to summary to galleries<br />Does not require developer/web skills<br />Useful for Power Users, IT Pros and Developers<br />Free!<br />
    12. 12. SPD2010 Workflow <br />Supports List, Reusable, Site workflows<br />Custom or based on built in workflows<br />Workflow Summary<br />Manage settings, start options, forms<br />Task designer<br />Define advanced settings for process<br />Workflow designer<br />Actions, Conditions, Steps<br />InfoPath 2010 for forms customization<br />
    13. 13. Creating Custom Workflows<br />New workflows are attached to a container<br />List Workflows attached to a specific list<br />Reusable Workflows are not attached to a list<br />May be constrained to a content type<br />Attached later using browser<br />Site Workflows are attached to the current site<br />
    14. 14. Copy & Modify Workflows<br />Based on any Globally Reusable Workflows<br />Approval<br />Collect Feedback<br />Collect Signatures<br />Publishing Approval<br />Can be limited to specific Content Type<br />
    15. 15. Workflows Summary<br />Manage settings for workflow<br />Associated lists<br />Start options<br />Manual Started for Human Workflows <br />Item created/changed events for Machine Workflows<br />Initiation Form Parameters<br />Collect information for workflow<br />Local Variables<br />Leveraged in workflow execution<br />Association Columns<br />Applied to associated lists for Reusable Workflows<br />
    16. 16. Workflow Designer<br />Improved declarative workflow designer<br />
    17. 17. Task Process Designer<br />
    18. 18. Actions <br />Actions get work done in the workflow<br />Examples:<br />Create, copy, change, or delete list items/documents<br />Check items in or out<br />Send an e-mail<br />Create a task for person or group<br />Collect data via task for use in the workflow<br />Pause or stop the workflow<br />Log workflow information to a History list<br />Set workflow variables or perform calculations<br />
    19. 19. Conditions <br />Control flow of the workflow<br />Examples:<br />If any value equals value<br />If current item field equals value<br />Created by a specific person<br />Created in a specific date span<br />Title field contains keywords<br />
    20. 20. Steps <br />Allow you to organize your workflow<br />Steps performed in Serial or Parallel<br />
    21. 21. Impersonation <br />Workflows run with permissions of user<br />Use impersonation step to run as workflow author<br />
    22. 22. WorkflowSharePoint Designer 2010Implementing Workflows<br />demo <br />
    23. 23. SP2010 vs. SPO<br />Can’t export from SPD2010 to VS2010<br />Can’t build Visual Studio code workflows in a sandboxed solution<br />
    24. 24. Summary<br />Prototype workflows in Visio 2010<br />Use diagrams to get sign-off<br />Implement the workflow in SharePoint Designer 2010<br />Custom or copy & modify built in workflow<br />Actions, conditions and steps<br />Develop custom workflow actions and events in Visual Studio 2010<br />
    25. 25. Who can you trust??<br />The blogs I trust through all of the noise.<br />Maurice Prather<br />Andrew Connell<br />Spence Harbar<br />Jim Duncan<br />Heather Solomon<br />Todd Klindt<br />Todd Baginski<br />Todd Bleeker Tielens<br />Patrick Tisseghem<br />WictorWilen<br />Ted Patisson<br />Lars Fastrup<br />CarstenKeutmann<br />Keith Richie<br />Bill Baer<br />
    26. 26. Thank you<br /><br />Ivan Sanders<br />SharePoint MVP Developer, Evangelist<br /><br /><br />
    27. 27. What's on the Flash drive<br />Extras<br />
    28. 28. Extras<br />SharePoint 2007<br />SharePointSolutionInstaller<br />WSPBuilder<br />KerberosBuddy<br />SharePoint Sushi<br />SharePointManager2007 / 2010<br />SPViewPermissionSetting.wsp<br />2007 Office SDK1.5<br />SQL Scripts<br />SharePoint 2010<br />AutoSPInstaller<br />2010 Documentation<br />BusinessIntelligenceLabs<br />2010 Tips and tricks<br />SQL Scripts<br />npp.5.8.6<br />Search.StandardMasterPageAdapter.wsp<br />
    29. 29. Resources<br />Download SharePoint Designer 2010<br /><br />Introducing SharePoint Designer 2010<br /><br />SharePoint Designer 2010 Workflow <br /><br />Creating SharePoint Workflow Solutions<br /><br />Walkthrough: Create a Custom Site Workflow Activity<br /><br />
    30. 30. Performance<br />Addendum<br />
    31. 31. Top Performance killers<br />
    32. 32. Top Performance Killers<br />Search <br />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<br />Indexing/Crawling <br />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. <br />Applications that may be crawling content in your production environment <br />Coveo Full and Incremental crawls to enable search <br />Newsgator to Update all of the colleague information and RSS feeds <br />DocAve for Reporting on and Performing SharePoint Management tasks <br />WSS Search indexes the Help information provided with SharePoint<br />SharePoint Profile Import syncs people profile<br />Office Search Full and Incremental updates Coveo would replace<br /> <br />
    33. 33. Top Performance Killers<br />Profile Import <br />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<br />Large List Operations <br />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<br />Heavy User Operation List Import/Write <br />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. <br />Backup (SQL & Tape) <br />Serious CPU and write disk I/O performance hit. SQL Litespeed or SQL 2008 backup with compression all help to lessen the performance hit. <br />
    34. 34. SharePoint Performance<br />
    35. 35. Database Performance<br />Database Volumes<br />Separate database volumes into unique LUN’s consisting of unique physical disk spindles.<br />Prioritize data among faster disks with ranking:<br />SQL TempDB data files<br />Database transaction log files<br />Search database<br />Content databases<br />In a heavily read-oriented portal site, prioritize data over logs.<br />Separate out Search database transaction log from content database transaction logs.<br />
    36. 36. Database Performance<br />SQL TempDB Data Files<br />Recommended practice is that the number of data files allocated for TempDB should be equal to number of core CPU’s in SQL Server.<br />TempDB data file sizes should be consistent across all data files.<br />TempDB data files should be spread across unique LUN’s and separated from Content DB, Search DB, etc…<br />TempDB Log file separated to unique LUN.<br />Optimal TempDB data file sizes can be calculated using the following formula: [MAX DB SIZE (KB)] X [.25] / [# CORES] = DATA FILE SIZE (KB)<br />Calculation result (starting size) should be roughly equal to 25% of the largest content or search DB.<br />Use RAID 10; separate LUN from other database objects (content, search, etc…).<br />“Autogrow” feature set to a fixed amount; if auto grow occurs, permanently increase TempDB size.<br />
    37. 37. Database Performance<br />Content Databases<br />100 content databases per Web application<br />100GB per content database<br />CAUTION: Major DB locking issues reported in collaborative DM scenarios above 100GB<br />Need to ensure that you understand the issues based on number of users, usage profiles, etc…<br />Service Level Agreement (SLA) requirements for backup and restore will also have an impact on this decision.<br />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.<br />
    38. 38. Database Performance<br />Content Databases - Continued<br />Pre-construct and pre-size<br />Script generation of empty database objects<br />“Autogrow” feature on<br />Use RAID 5 or RAID 10 logical units<br />RAID 10 is the best choice when cost is not a concern. <br />RAID 5 will be sufficient and will save on costs, since content databases tend to be more read intensive than write intensive.<br />Multi-core computer running SQL Server<br />Primary file group could consist of a data file for each CPU core present in SQL Server. <br />Move each data file to separate logical units consisting of unique physical disk spindles.<br />
    39. 39. Database Performance<br />Search Database<br />Pre-construct and pre-size<br />Script generation of empty database objects<br />“Autogrow” feature on<br />Use RAID 10 logical units<br />Should be a requirement for large-scale systems<br />Search database is extremely read/write intensive<br />Multi-core computer running SQL Server<br />Primary file group could consist of a data file for each CPU core present in SQL Server. <br />Move each data file to separate logical units consisting of unique physical disk spindles.<br />
    40. 40. Database Performance<br />Search Database<br />Search database is VERY read/write intensive!<br />Do not place any other database data files on any logical unit where search database files reside.<br />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.<br />Place the search database log files on an independent logical unit.<br />
    41. 41. Database Performance<br />Database Maintenance<br />Physical Volume File Fragmentation:<br />Defragment your physical volumes on a regular schedule for increased performance!<br />LUN’s need to be 20-50% larger than the data stored on them allow for effective defragmentation of the data files.<br />Performance Monitor Counters to watch:<br />Average Disk Queue Length<br />Single Digit values are optimal.<br />Occasional double-digit values aren’t a large concern.<br />Sustained triple-digit values require attention.<br />
    42. 42. Page Performance<br />Minimize HTTP Requests<br />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. <br />For static components: implement <br />"Never expire" policy by setting far future Expires header<br />Avoid Redirects<br />Redirects are accomplished using the 301 and 302 status codes. Here’s an example of the HTTP headers in a 301 response:<br />Optimize Images<br />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<br />Avoid Empty Image src<br />Image with empty string src attribute occurs more than one will expect.<br />