SharePoint 2010 Virtual Labs
Looking for virtual labs to begin learning about SharePoint 2010? The Microsoft Developer Network (MSDN) and TechNet have a whole bunch of virtual labs you can use right from your browser. No installation of software is required. The following are the current virtual labs available for you to try:
- MSDN Virtual Lab: SharePoint Server 2010: Introduction
- MSDN Virtual Lab: Client Object Model
- MSDN Virtual Lab: Customizing MySites
- MSDN Virtual Lab: Designing Lists and Schemas
- MSDN Virtual Lab: Developing a BCS External Content Type with Visual Studio 2010
- MSDN Virtual Lab: Developing a Sandboxed Solution with Web Parts
- MSDN Virtual Lab: Developing a Visual Web Part in Visual Studio 2010
- MSDN Virtual Lab: Developing Business Intelligence Applications
- MSDN Virtual Lab: Enterprise Content Management
- MSDN Virtual Lab: Getting Started with SharePoint 2010
- MSDN Virtual Lab: LINQ to SharePoint 2010
- MSDN Virtual Lab: SharePoint 2010 User Interface Advancements
- MSDN Virtual Lab: Visual Studio SharePoint Tools
- MSDN Virtual Lab: Workflow
- MSDN Virtual Lab: Advanced Search Security
- MSDN Virtual Lab: Configuring Search UIs
- MSDN Virtual Lab: Content Processing and Property Extraction
- MSDN Virtual Lab: Developing a Custom Connector
- MSDN Virtual Lab: Fast Search Web Crawler
- MSDN Virtual Lab: Federated Search
- MSDN Virtual Lab: Linguistics
- MSDN Virtual Lab: People Search Administration and Management
- MSDN Virtual Lab: Relevancy and Ranking
- MSDN Virtual Lab: PowerPivot in SQL Server 2008 R2
- MSDN Virtual Lab: Managing Excel 2010 PowerPivot Solutions in SharePoint 2010
- MSDN Virtual Lab: Developing Reports and Dashboards with SharePoint 2010 PerformancePoint Services
- MSDN Virtual Lab: Developing KPIs and Scorecards with SharePoint 2010 PerformancePoint Services
- MSDN Virtual Lab: SharePoint Server 2010 Connectors & Using the Business Data Connnectivity (BDC) Service
- TechNet Virtual Lab: Backup and Restore in SharePoint Server 2010
- TechNet Virtual Lab: Business Connectivity Services
- TechNet Virtual Lab: Business Continuity Management in SharePoint Server 2010
- TechNet Virtual Lab: Configuring Remote Blob Storage FILESTREAM Provider for SharePoint Server 2010
- TechNet Virtual Lab: Configuring Tenant Administration on SharePoint Server 2010
- TechNet Virtual Lab: Configuring User Profile Synchronization in SharePoint Server 2010
- TechNet Virtual Lab: Enterprise Search
- TechNet Virtual Lab: Introduction to Microsoft SharePoint Server 2010 Upgrade
- TechNet Virtual Lab: New IT Pro Features in SharePoint Server 2010
- TechNet Virtual Lab: Performance Management
- TechNet Virtual Lab: PowerShell and SharePoint 2010
- TechNet Virtual Lab: SharePoint Designer for IT Pros
- TechNet Virtual Lab: SharePoint RTM - IT PRO - Business Continuity Management
- TechNet Virtual Lab: SharePoint RTM - IT PRO - Installing and Configuring
- TechNet Virtual Lab: SharePoint RTM - IT PRO - Service Applications
- TechNet Virtual Lab: SharePoint RTM - IT PRO - Upgrade
- TechNet Virtual Lab: Windows PowerShell and SharePoint Server 2010
- TechNet Virtual Lab: Connectors & Using the Business Data Connectivity (BDC) Service
- TechNet Virtual Lab: Monitoring & Systems Management
- TechNet Virtual Lab: PowerShell for Search
- TechNet Virtual Lab: Query API and Query Languages
- TechNet Virtual Lab: Search Reporting and Analytics
- TechNet Virtual Lab: Upgrading SharePoint 2010 to FAST Search for SharePoint
- TechNet Virtual Lab: SharePoint 2010 Web Content Management Visual Upgrade
- TechNet Virtual Lab: Monitoring SharePoint 2010
For more information on SharePoint 2010 virtual labs visit MSDN SharePoint Server Virtual Labs and TechNet Virtual Labs for SharePoint Products and Technologies.
Migrating Workflows to SharePoint 2010 Question
Question
An anonymous visitor asked "Is it possible to migrate running workflows (built on SPD 2007 or VS 2008) when migrating 2007 farm to 2010? I tested on a very simple SPD workflow and it worked, but can we take it for granted for any kind of workflow...?".
Answer
This is a very interesting question anonymous visitor. It sounds like you are doing your homework before doing your migration which is great. I think the best way to answer your question is to briefly speak about how workflows work. The following summarizes how workflows are executed from start to finish:
- A person or process initiates some action that causes the workflow to begin. In SharePoint 2007, workflows can be:
- Started on demand by a user by using the SharePoint user interface.
- Started or resumed in response to the On Item Created event for an item in a list or document library.
- Started or resumed in response to the On Item Changed event for an item in a list or document library.
- Started or resumed programmatically through the SharePoint object model.
- Started programmatically through the Workflow Web service.
- Once the workflow begins a process is created to execute tasks or actions in the workflow code. Not all workflows use the same hosting process.
- Workflows started from the SharePoint user interface use the W3wp.exe process that is specific to the IIS Web application the workflow was initiate from.
- If the workflow uses DelayActivity code or has a noncatastrophic error when the workflow instance begins then the Owstimer.exe server process is the host process. The Owstimer.exe is the SharePoint timer service process and is used in this context to start workflows when DelayActivity code is used or to try executing a failing workflow again at a later time.
- When an external application (such as a console application, Web service, or Windows Communication Foundation service) creates items programmatically through the SharePoint object model, the process running the code becomes the workflow host.
- The workflow determines what action needs to perform next and executes the code.
- If the workflow needs to wait for a response before it can continue, then the SharePoint event handlers tell the Windows Workflow Foundation Runtime Engine to put the workflow to sleep using the SQL workflow persistence service.
- When a workflow becomes idle the Windows Workflow Foundation Runtime Engine calls the SQL workflow persistence service to save the workflow state into the content database of your SharePoint website.
- The SQL workflow persistence service assigns correlation tokens for the workflow and to each task as that the workflow engine can use unique identifiers to map events and actions to the correct workflow object. Next, the SQL workflow persistence serializes the workflow object turning into a binary string, and then saves it with a unique Workflow Instance ID to the SharePoint content database. This process is called dehydration.
- Once the workflow object is safely stored within the database the memory used to run the workflow is released and the workflow is considered to be put to sleep.
- When SharePoint receives a response to carry out the next action from ones of its event handlers, the Windows Workflow Foundation Runtime Engine wakes up the sleeping workflow using the SQL workflow persistence service. When the new response data and the data from the store workflow object the workflow can run the code to perform the remaining actions.
- When a user or system respond to a workflow action, the unique Workflow Instance ID is passed to the Windows Workflow Foundation Runtime Engine and SQL workflow persistence service finds the workflow object in the SharePoint web application’s content database.
- When the Windows Workflow Foundation Runtime Engine retrieves and deserializes the workflow object from the database, it performs many checks to ensure that the workflow object is mapped to the correct response. The checks ensure the workflow DLL has the correct namespaces, entities, and correlation tokens. The process of retrieving the workflow object is called hydration.
- Once the workflow object is successfully retrieved and passed all its checks the workflow is awake and is able to execute the rest of the action code.
- Steps 3 to 5 are repeated for each action as necessary until the workflow is complete. Once the workflow is complete, the workflow status is updated and the workflow memory and hosting process are released.
To answer your question there are ways that workflows might not make it through the migration process. The following are situations you should consider before migrating your SharePoint 2007 workflows to SharePoint 2010:
- A person or process initiates some action that causes the workflow to begin as a migration occurs: Workflows that are executing code are processing data in the memory of the server. If you begin a migration while the workflow is still in memory it is possible for the information and the workflow instance to be lost. Before starting your migration it is wise to make sure that your SharePoint sites are not able to be accessed by users. This ensures that no new workflow instances are initiated and any workflows that were running are hopefully completed or sleeping within the SharePoint web application content database.
- Identify any custom workflows that use DelayActivity code: The DelayActivity code delays an activate workflow from executing. If a workflow becomes completely idle during the delay and the UnloadOnIdle method is set to true, then the workflow may be unloaded from memory, put to sleep, and then reloaded into memory when the specified delay time expires. If the UnloadOnIdle method is set false then the workflow will remain in the server's memory and may be lost during a migration process. You want to ensure no new workflow instances are initiated and any workflow that were running are hopefully completed or sleeping within the SharePoint web application content database.
- Make sure any external applications do not start workflows during the migration process: If you have external applications in your company interacting with SharePoint you want ensure that no new workflow instances are initiated. The workflow instance could be in memory and could be lost. Again the best strategy is to limit access to the SharePoint environment.
- Ensure all custom workflow code are working correctly before the migration: If your workflow is not working correctly then the Owstimer.exe server process might trying to reactive the workflow action repeatedly. Especially if you are moving content databases to another SharePoint 2010 farm, this workflow instance could get lost. Make sure custom workflow code is in working order by checking the event and SharePoint logs on your server. Once the code is corrected the workflow will either finish or become idle and be saved to the content database.
- Run the pre-upgrade checker to look for potential issues: The pre-upgrade checker reports missing customizations and issues with orphaned sites, and more, so that you can address these issues before you perform your upgrade. The pre-upgrade checker also checks your workflows for the following issues:
- 956447: The ModifiedWorkflowActionsFile rule in Pre-Upgrade Checker can warn that the default declarative workflow actions file has been modified
- 956448: The CustomWorkflowActionsFiles rule in Pre-Upgrade Checker in Windows SharePoint Services 3.0 Service Pack 2 can warn that custom .ACTIONS files exist in the farm
- 956449: The ModifiedWebConfigWorkflowAuthorizedTypes rule in Pre-Upgrade Checker for Windows SharePoint Services 3.0 Service Pack 2 can warn that Web.config files contain modified authorized types for workflow
If the pre-upgrade checker is not run and the issues not corrected it is possible that your workflow will not work correctly. For more information about the pre-upgrade checker that comes with Office SharePoint Server 2007 with Service Pack 2 visit TechNet's Run the pre-upgrade checker article.
- Check to see if the Workflow Auto Cleanup timer has been disabled: If your Workflow Auto Cleanup timer job is disabled in your Office SharePoint Server 2007 environment, make sure that you disable this timer job in your new environment also. If this timer job is enabled in the new environment and disabled in the previous version environment, you might lose workflow associations when you upgrade. For more information about this timer job visit Disable preservation of workflow history.
If you are using out-of-the-box SharePoint workflows do not worry too much. Microsoft developers know how to handle their own solutions and migrate them forward correctly. You will notice in the web.config files of the SharePoint 2010 virtual directories that there are redirect statements so that if code is looking for the SharePoint 2007 DLLs they are redirected to the SharePoint 2010 workflow DLLs. The following are web.config entries for redirecting workflow DLL versions:
<dependentAssembly>
<assemblyIdentity name="Microsoft.SharePoint.WorkflowActions" culture="neutral" />
<bindingRedirect oldVersion="12.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
</dependentAssembly>
<dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="Microsoft.Office.Workflow.Routing" culture="neutral" />
<bindingRedirect oldVersion="12.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
<dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="Microsoft.Office.Workflow.Tasks" culture="neutral" />
<bindingRedirect oldVersion="12.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
<dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="Microsoft.Office.Workflow.Feature" culture="neutral" />
<bindingRedirect oldVersion="12.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
These DLLs likely have code for the old SharePoint 2007 workflow actions and also the new SharePoint 2010 workflow actions. By having two sets of code the old workflow actions can finish correctly and then any new workflows going forward will use the new SharePoint 2010 workflow actions.
When it comes to your custom workflow code make sure all the code is copied on the SharePoint 2010 environment and that any web.config or app.config settings are already in place. When the websites are finished being migrated you want everything to be in place so that workflows can complete their jobs.
If you are moving between farms remember that you want to make sure that your workflows are either completed or sleeping in the content database of your site. Any workflows in memory have the highest risk of getting lost or not finishing as the processes will not be active in your new farm.
I hope I have answered your question and gave you some things to think about. Thank you for submitting your question and good luck on your SharePoint 2007 to 2010 migration. Please feel free to send any additional questions you may have.
For more information about SharePoint workflows visit Workflows in SharePoint Server 2010, Workflows in SharePoint Foundation, Cutting Edge: Windows Workflow Foundation - Part 1, Cutting Edge: Windows Workflow Foundation - Part 2, Developing Workflows in VS: Part 1 - Workflow Objects and A Crash Course on Mechanics, Improvements in SharePoint 2010: Workflow, Developing Workflow Solutions with SharePoint Server 2007 and Windows Workflow Foundation, WF Scenarios Guidance: SharePoint and Workflow, Workflow Scalability and Performance in Windows SharePoint Services 3.0, Microsoft SharePoint Team Blog workflow posts, Understanding the Lifecycle of a Workflow, Channel 9 Workflow Videos, Best Practices For Windows Workflow Foundation Apps, Creating Custom Workflows for Windows SharePoint Services and Office SharePoint Server, Versioning long running workfows, and Site Collection Backups and Workflow Portability in SharePoint 2010.
SharePoint 2010 Planning Resources Question
Question
An anonymous visitor asked "Did Microsoft release a project plan for SP2010 ? If so could you direct me to where I can download?".
Answer
Planning for SharePoint 2010 can be difficult and find the right documentation to help you can even be harder to find. With SharePoint 2010, Microsoft has been pretty good about producing documentation. You will not find one document that explains start to finish how to go about your project. How to implemented SharePoint 2010 is different for every company and its needs. The following are five general stages that every company should go through to properly plan and execute their SharePoint environment:
- Evaluation: This stage involves installing a version of SharePoint 2010 to use and explore. You want to make sure that SharePoint is the right fit for your company and understand how it can be applied to help meet your strategy goals.
- Planning and Architecture: This stage involves creating the blueprints of how your SharePoint 2010 environment will be built, configured, and maintained. Planning and architecture is often over looked or simplified because companies have immediately needs they want to satisfy. I cannot express how important it is to properly plan your SharePoint environment. If you do not spend the time up front you will surely spend more time and money in the end when your environment crashes, has very poor performance, or has become too unwieldy to maintain.
- Configuration and Development: This stage involves building your SharePoint environment based on the documents produced from the planning and architecture stage. You want to have a good idea of the best practices you should follow while developing customizations to ensure long term scalability and maintenance. You should always have a development, staging, and production environment. Everything that is built by developers should be thoroughly tested in the staging environment before being deployed to the production environment.
- Deployment: This stage involves preparing and moving your code and configurations to your production environment. This can involve deployment of code, training of users, and content migration.
- Support and Maintenance: This stage involves administration of the infrastructure. You will want a back up and disaster discovery plan in place. Additionally you will want to schedules monthly outages to apply major code customization, software updates, and performance enhancements.
In case you have not evaluated SharePoint 2010 you should know that you can download a trail version of the software from the TechNet evaluation center that is good for 180 days. If you are thinking about running a virtualized environment you can download a demo Hyper-V image from the Microsoft Download Center that can be also used for 180 days and includes Microsoft Office Communication Server 2007 R2, Microsoft Visual Studio 2010, Microsoft SharePoint Server 2010 Enterprise Edition, Microsoft Office Web Applications, Microsoft FAST Search for SharePoint 2010, Microsoft Project Server 2010, Microsoft Office Professional Plus 2010, Microsoft Visio 2010, Microsoft Project 2010, and Microsoft Office Communicator 2007 R2. Please visit the http://www.the14folder.com for more information on SharePoint 2010 Editions, Hardware Requirements for SharePoint 2010, and Software Requirements for SharePoint 2010.
As for your question it sounds like you would like to begin stage 2. You should begin by downloading the Planning guide for Microsoft SharePoint Server 2010 or the Planning guide for Microsoft SharePoint Foundation 2010 from the Microsoft Download Center. These documents provide a lot of useful information and guidelines on how to lead a team through the planning stage of a SharePoint 2010 deployment. Microsoft’s TechNet website also has a whole section devoted to planning and architecture at http://technet.microsoft.com/en-ca/library/cc261834.aspx. The TechNet website includes planning worksheets and technical diagrams that you will find handy. The Microsoft Download Center also has guides, worksheets, and white papers on SharePoint 2010 that provide a lot of useful information. Additionally, at www.the14folder.com I have a section in my right side of the screen with links completely devoted to resources for SharePoint 2010 planning that you may find interesting.
You should definitely do your own research, however I would also recommend talking to a SharePoint consulting firm in your area. SharePoint is a big product and good consultants can help you avoid common pit fall that they have learned the hard way through experience. To find a SharePoint consulting firm in your area please visit the SharePoint partner finder.
Thank you for asking your question and I hope my response has helped you. I plan to talk more about this particular topic in greater detail in future posts. Please feel free to ask any additional questions you may have. Good luck!
~The 14 Folder
SharePoint Conference 2011 Announced
Microsoft has announced on June 8th that the next SharePoint Conference will be held October 3-6, 2011 in Anaheim, California. The conference will focus on SharePoint 2010 best practices for building and deploying solutions as well as showcasing how companies and partners are customizing SharePoint to meet business needs. Registration will start in the Spring of 2011. Needless to say the conference is still far off, but you can follow the SharePoint Conference on Facebook, Twitter, RSS, and Email by visiting the SharePoint conference website at http://www.mssharepointconference.com/.
TechDays Canada 2010 Is Coming!
Microsoft Canada is gearing up for TechDays 2010 to provide IT professionals will all the latest tips, tricks, and news on all the cutting edge Microsoft technologies. I love being part of these events because there is always something new to learn, experts discuss topics with, and peers to debate with about new technologies and techniques . The new TechDays website is up today with new dates, speakers, and track information. The following is a summary of what you can expect with TechDays this year:
Dates & Locations
TechDays 2010 will be held on the following dates and locations:
| Vancouver September 14-15 Vancouver Convention Centre | ![]() | Edmonton October 5-6 Shaw Conference Centre | |
| Toronto October 27-28 Metro Toronto Convention Centre | ![]() | Halifax November 2-3 World Trade and Convention Centre | |
| Ottawa November 9-10 Hampton Inn and Conference Centre | ![]() | Ottawa November 9-10 Palais de Congres | |
![]() | Winnipeg December 7-8 Winnipeg Convention Centre | ![]() | Calgary December 14-15 Calgary Stampede |
Tracks & Sessions
Canada's TechDays 2010 will be offering six tracks that include over 50 sessions. The six tracks at TechDays 2010 currently include:
Developing for Three Screens and the Cloud
In this track you will learn how to develop and enhance web, mobile, and desktop applications while examining how to leverage the Cloud where it makes sense. This track will also discuss Visual Studio 2010, SharePoint 2010, Windows Phone, Silverlight and other technologies that can help enhance the application experience for your users.
Optimizing the Development Process
In this track you will learn best practices and techniques for delivering robust solution using Microsoft’s application lifecycle platform, Visual Studio 2010 and Team Foundation Server 2010. This track will also discuss change management, quality, and deployment techniques.
Collaboration: The Next Generation
In this track you will learn how to leverage key technologies like SharePoint 2010, Unified Communications, Office 2010 to increase productivity, reduce the burden on IT, and enable user collaboration using a rich web or mobile clients. This track will also discuss business productivity infrastructure in the Cloud and on-premise.
All About Deployment
In this track you will learn how to leverage tools in Windows Server 2008 R2, the System Center product line and others to help make deployments run more smoothly. This track will also discuss how to integrate Office 2010, your own line-of-business applications, and virtualization technologies into your deployments.
Managing and Helping to Secure Your IT Infrastructure
In this track you will learn how to migrate to and implement on-premise and Cloud-based infrastructure components to help reduce costs and increase agility. This track will also discuss Windows Server 2008 R2, virtualization, Forefront suite of security products, and the System Center suite of products provide a robust solution for deploying, managing, and securing your organization datacenter. Additionally, this track will teach you how to monitor and automate your infrastructure to help increase availability.
Local Flavours
In this track will be showcasing the great work that is happening in your region of the country. This track will also allow local individuals who have a passion for technology share their knowledge and expertise.
Registration and Cost
The full conference price this year will be approximately $699.99 plus applicable taxes. If you take advantage of the early bird price that will be available up to six weeks prior to the event, you will pay approximately $349.99 plus applicable taxes which is almost 50% savings. To keep update on all the latest TechDays 2010 news visit the Canada TechDays website at http://www.techdays.ca/, follow their facebook page at http://www.facebook.com/pages/TechDays-Canada/91715813010, or follow the conversation on twitter at #techdays_ca. If you have attended TechDays in the past watch your email for more exciting TechDays news.





