hit counter script
Skip to main content

Go Search
SharePoint for End Users
  

 Other Blogs

  EndUserSharePoint.com by Mark Miller
  Microsoft SharePoint Team Blog
  Michael Gannotti on SharePoint+
  SharePoint Design by Heather Solomon
  Asif's Blog by Asif Rehmani
  Ian’s SharePoint Blog by Ian Morrish
  SharePoint Demystified
  Siolon - Chris Poteet
  SharePoint Guru - Rod Stagg
SharePoint for End Users > Categories
Using SharePoint Designer Workflows to migrate data into SharePoint lists

by Rod Stagg, SharePoint Solutions Architect/Developer
http://www.rstagg.com 

 

 

Overview

 

Recently our IT department embarked on a collaborative effort with a key business stakeholder to develop a standardized quoting and bidding solution.   The solution is an interim solution (2 years) replacing a current set of processes (both manual and automated).  We needed to develop the solution quickly and efficiently to address a current need.    

 

The solution:

 

Take advantage of SharePoint’s collaboration and document sharing features and built-in workflow capabilities for lists and document libraries to provide a standardized workflow process and centralized repository for tracking and reporting purposes. 

 

Example SharePoint Designer Workflow

 

The challenge:

Migrating historical data into existing SharePoint lists and libraries.  A key requirement required migration of historical data into the new solution’s lists, document libraries, and ensure they function properly with existing SharePoint Designer workflows.

 

No Easy Button:  not easy

We quickly determined that importing the data into SharePoint as entirely new lists from either Excel or Access by itself was not a viable option given the approximately 100 fields involved that varied in type from one datasource to another. 

 

The historical data was stored in Excel spreadsheets and Access databases.  In one case 10,000+ records were stored in a single Access 2003 database.   

 

Solution approach for migrating the data:

 

Use SharePoint Designer workflows to map the fields and import the data into existing lists. 

 

Steps we took to manage the migration:

 

  • Import the existing historical data stored in Excel Spreadsheets directly into SharePoint as new temporary lists to be deleted when migration was complete.   
  • Export the data stored in the Access databases directly to temporary lists in SharePoint using the export to Windows SharePoint Services feature.   
  • Develop SharePoint Designer workflows for each temporary list and set the workflow to start manually and also whenever a list item is updated.  
  • Add a custom column to each list to track whether an item had been migrated. 
  • Add a workflow condition to check whether the item has already been migrated before starting the workflow i.e. if the custom migrated field equals “notmigrated” initiate the workflow.   
  • Add actions to create a new list item in the destination list(s) for each desired field/value from the source temporary list.   
  • Add a final step to the workflow to update the current item’s migrated field to “migrated” following the creation of the new list item preventing the workflow from looping endlessly.   
  • Run an append query from Access to update the custom migrated field in each list item of the temporary list.  This update initiates the workflows.   
  • If necessary, develop a simple Windows application to append a specific field in every row of the temporary SharePoint list.  In our case, Access was timing out for our large number of records. 
  • We handled special cases for data mapping in code in specific cases where our historical data contained values not present in our new choice fields.
  • Monitor your source temporary lists and destination lists to ensure the workflow runs successfully. 

Key Take-Aways:

 

Server Settings:
Depending on your server settings it may be necessary to update your server’s workflow settings to accommodate a large number of concurrent workflows.  I changed the timeout to 25 minutes. 

See
http://msdn.microsoft.com/en-us/library/dd441390.aspx

 

Create new list items rather than copying.  Creating new list items in your workflows and providing the associated mappings turned out to be more reliable than copying list items. 

 

Re-use workflows when possible.
We saved time by reusing the same SharePoint Designer workflow on another separate list by simply replacing the listid GUID in your workflows .xoml file

 

CreateItemActivity ListId="{}{[yourlistsid]}" x:Name="ID30" Overwrite="False" __Context="{ActivityBind ROOT,Path=__context

 

Use content-types:
When working with a large number of fields consider grouping into content types if appropriate.  This is especially useful if you need the ability to easily filter based on the original datasource or want to provide a specialized form based on the originating datasource. 

 

Manage list size:

For large number of data items consider using separate lists in your solution to limit the number of total list items in any one list to 5,000 or less. 

 

Other Approaches we considered:

 

Develop the code in C# and use the SharePoint object model to both import/export the data to SharePoint and also provide the mapping of fields.  Given the number of fields approached 100+ we determined handling everything in custom code was not the most efficient approach. 

 

Use Access to import all of the Excel spreadsheets into the Access database and then create append queries in Access to append the data into the existing SharePoint lists.  Seems like the obvious approach but after testing with a subset of the 100+ required fields we determined ensuring that each field/data type in Access was compatible with the corresponding fields/data type in the SharePoint lists was too time-consuming. 

 

Also, possibly related to the large number of 10,000 records involved, the Access append query we used for testing frequently timed-out or locked-up before completing. 

Cool Content Friday - Resources for wrangling SharePoint content
Wrangling content throughout its lifecycle can be a major challenge. It's human nature that people and groups might use slightly different terms or systems to work with files, which could lead to complexity or chaos over time.
 
Planning how to organize content can make it easier for users to find and work with it. If you are storing records electronically, your organization may need to set policies and establish guidelines.
 
SharePoint MVP Zlatan Dzinic recently covered these topics in presentations at the SharePoint Best Practices Conference, and he has shared his insights in this post. He has also shared his slides.
 
The following two presentations are downloadable - on the pages that appear, click the "zipped" folder icon Zip Folderon the left to start the download.
 
 
We hope you find these resources to be helpful. Cheers,
 
Toni
SharePoint End User Content Team
 
Preparing a Request for Proposal (RFP) for a SharePoint project

If you are planning a SharePoint project that will involve a vendor, you may be preparing a Request for Proposal, often called an RFP.

 

While your company's procedures or policies may vary, you'll want to consider how to best define and communicate your needs, and to compare the different approaches from vendors.

 

West Monroe Partners has recently authored a paper called "Guidelines for developing a SharePoint Request for Proposal" to help organizations better understand and articulate the benefits they hope to achieve from a SharePoint project.

 

"Over the last several months, we have seen an increasing trend in which organizations are ready to start their SharePoint implementations but don't know where or how to start. We developed these guidelines in the hopes of pointing these companies in the right direction and providing them a template to get their project off the ground," Doug Armstrong, Managing Director of Customer Solutions Practice at West Monroe Partners, said in a recent news release.

 

You can find a link and more information about the paper on the West Monroe Partners site.

 

Cheers,

 

Toni

Engaging users and changing minds about SharePoint: Friday Cool Content

There has been a lot of great discussion out there recently about the importance of end user engagement and change management to a successful SharePoint deployment. Your SharePoint solution may be technically brilliant, but if nobody uses it, it won’t be a success. And getting people to use SharePoint often involves getting them to change how they work…or how they think they need to work.

If you are involved with deploying SharePoint in your organization, these links might help you think about how you can integrate a bit of change management into your end user training.

By the way, congratulations to Mark Miller and his fellow EndUserSharePoint.com contributors for publishing their 1,000th post this week! We're looking forward to reading the next 1,000.

  • In “A Change Will Do You Good: Lessons from Change Management for SharePoint Solution Architects,” Susan Hanley makes the case that SharePoint deployments are similar to change management solutions. She urges solution architects to make “the case for change – in every newsletter article, every slide deck, and every conversation.” Hanley recommends using “future scenarios” as a form of persuasion. “Future Scenarios” involve “painting a picture of what the work environment or the job will be like when the solution is fully operational.
  • In recent post on EndUserSharePoint.com titled “Adoption Tip 1 of 7: Use SharePoint’s Flexibility for Success,” Lee Reed addresses the intimidation many users experience when they are confronted with SharePoint, and he offers some great tips for “[using] SharePoint’s flexibility to gain greater adoption of the platform within your environment.” He also offers some great tips on how you can counter resistance to change by appealing to people’s innate self-interest and showing them how SharePoint can help them with their jobs.
  • No time to read? Then listen to SharePoint and End User Adoption-Episode 25. In this podcast, Rob Foster, Brett Lonsdale, and Nick Swan talk with SharePoint MVP Steve Smith about many things, including why developers should care about end users (a subject near and dear to my heart), and what to do if no one is using your SharePoint solution. You may want to fast forward about 12 minutes into the podcast to get right to the good stuff.

Have a great weekend,

Laura

SharePoint IW Content Team
Planning Content Types for SharePoint Sites

by Sandra Tersteeg, Senior Project Manager/Business Analyst

Allyis | www.allyis.com

 

 

Introduction

The planning of content types begins with your requirements and is integrated into the design and specifications for your SharePoint content management system through your information architecture. However, before we dive into these areas, let’s begin by defining content types.

 

What is a Content Type?

Content types in SharePoint allow you to associate metadata, templates and workflow processes to assets found within your content management environment. Assets can include a body of text about a particular subject, an image, document, spreadsheet, video, presentation, form, web page or a page layout. An asset can be thought of as any resource that contributes to the successful rendering of useful information to the person viewing your content.

 

Turning Requirements into Content Types

During the gathering of the business requirements, several scenarios are good indications of where content types would be used. Such scenarios could be:

 

  • Associate similar metadata to multiple areas such as department, functional groups or subject area
  • Provide consistent processes across multiple areas or sites
  • Ability to find assets quickly
  • Implement and maintain consistency across multiple areas
  • A single template for multiple areas is used such as an absence request, presentation or a whitepaper
  • Approvals are required from a central area across all other areas such as an expense report that is to be approved by the manager, and then passed to an accounting department for final approval and reimbursement

 

Designing Content Types

Now that you have established what content types are required, you can then begin to see the need for specific properties about content types to be shared among other content types such as Department Name, Type of Document or a template shared among several content types. To accommodate this scenario, you would first create your most basic high-level content type, and then create the others by inheriting the first. This allows you to manage a template, process or site column (metadata) at a core level and have it automatically populate to all other content types inheriting it. For example, when a new expense report comes out for the upcoming fiscal year, a simple update to the core expense report populates to all other content types inheriting it from other departments. This allows a corporation to define specific metadata while allowing individual areas to further define additional metadata based on their group needs.

 

After you have determined your content types and their properties, you will need to capture this within your design and specification documentation for whoever will be actually building and configuring your SharePoint sites. For an example of how that might be done, click here to view a sample Content Type Design & Specification document.

Twynham School shares their story; what's yours? - Friday cool content

We don’t get out much. That's just the practical reality of software documentation. So, when we heard that Mike Herrity and Dave Coleman from the Twynham School in England agreed to take time out of their busy schedule during a recent visit to the Microsoft campus to talk to us about their highly successful SharePoint implementation everyone on our team was front and center.

 

For days – and now I can say weeks – afterward we’re still talking about what we heard. The reason: It’s so exciting to hear about how SharePoint has made life easier for not only the people who use it, but the people who implement it.


In a nutshell, since Twynham deployed Microsoft Office SharePoint 2007 to its staff, students, parents in March 2007, grades and attendance have dramatically improved. Mike, Assistant Headteacher, and Dave, Network Manager, showed us how they’ve implemented SharePoint, and peppered us with statistics and anecdotes about how things are so much better.

 

One of my favorite stories: One summer Dave converted all of the school’s physical media assets to digital format, so students and teachers now have 24/7 access to video files directly from a browser. One teacher was so reluctant to relinquish her TV and VCR that Mike finally convinced her to put it in a closet. After it had been there for months, Mike asked her to think about how long it had been since she needed to use it. Turns out, she hadn’t used it for years!

 

Other stories: They’ve shown that students who are able to view their grades and attendance records by using SharePoint Web Parts achieve better test scores and show up at school more frequently.

 

Mike and Dave illustrated a clear picture of how user involvement in SharePoint can make a big difference. At various milestones during implementation they used surveys to make sure that students and teachers would be happy with the plans and the user interface; or at least to learn about the issues that they might face with the adoption of the plans.

 

What’s unique about Twynham is that they have shared the nuts and bolts of implementing SharePoint with several hundred other schools to help them get up and running faster, and we think that's cool!

 

Do you have a SharePoint story to share? We’d like to hear about how SharePoint has changed the way you do business or influenced the culture in your organization. Drop us a line at gtpteam@microsoft.com if you're interested in writing a post on the subject.

 

We're probably not the only ones who don't get out much.

 

...Renée

SharePoint End User Content Publishing Team

Saving Money with SharePoint? - Friday Cool Content
These are challenging economic times, that's for sure. And businesses are certainly trying to find ways to be more productive and profitable. Microsoft has many case studies that show how companies, large and small, are using SharePoint in their business. There is a specific site on Microsoft.com that shows you how businesses are saving money using SharePoint by establishing more efficient infrastructure, reducing time for application development, delivering positive operational impact, and improving employee productivity. Select the link below to look at these case studies.
 
 
Have a great weekend!
 
--Cris
Wikis meet templates - Friday Cool Content
You might think SharePoint Wikis and templates don't belong in the same sentence, but perhaps you haven't read Michael Hofer's Blog SharePoint Wiki: Create pages based on a template.
 
Although SharePoint Wikis are "free-form", sometimes you want to provide structure to them. That's where the template comes in. Structured Wiki examples include an online help system, a policy manual, or a field sales guide. A template can provide a consistent look and feel to the content by providing headings, sections, text placeholders with brief instructions, and commonly formatted "chunks", such as bulleted lists and tables.
 
At Microsoft, we had a need to do this quickly for a critical project and found Michael's solution fit the bill perfectly. It's a two-step process: configure a Wiki site with the template file in HTML format, and then add some managed code. You may need to bribe a developer, but don't offer too much because the code is well-written, clearly documented, and besides, we've been testing it out successfully for some time now.
Mark
Love at first site

A few years ago, the mega-company I worked for was bought by an even-more-mega-company. Soon after, my boss told me our new parent used something called SharePoint, and we were “encouraged” to use it, too. Because I was a tech writer, and SharePoint “has something to do with documents,” it was only natural that I was assigned to figure out how to use SharePoint in our group of about 150 people.

Without getting into the weeds, it was an 18-month exercise of trial and error – lots of ideas that sounded good but didn’t quite work out, lots of false starts and do-overs, lots of frustration and a bit of anger. We made it up as we went along, even as people in the group began to rely on SharePoint in their daily work and to ask for more functionality. At times, it felt like we were trying to change a flat tire while driving down the road: exciting but scary.

It turned out that, for our group at least, implementing SharePoint was technologically pretty easy and organizationally pretty difficult.

I vowed that if I ever had to do it again, I’d do a lot of things differently: Before I started building sites, I would spend a lot more time talking with people about what they wanted to do, planning the organization of the site collection, and working out the policies and practices that people would use.

Fast forward: Now I’m working for the very company that makes SharePoint. When the opportunity came up to write an article that could help people get started with SharePoint, I thought my experience might be useful. The article Planning for your first Microsoft Office SharePoint Server site  is based on the lessons I learned, plus a lot of good advice from others. My aim in writing it was to help you avoid the missteps that caused a lot of frustration and rework. Think high-level roadmap. It isn’t techy, but it does give you links to resources you’ll find useful. If you’re in the same situation I was, I hope this article will help.

Dennis

SharePoint End User Content Team

Update: The Office Online article is currently experiencing technical difficulties. We've also uploaded the whitepaper to this blog.

 

Manage large SharePoint lists for better performance

Large lists have become fairly common and can cause the server and users considerable pain if you’re not careful.  When I refer to a list in SharePoint, that includes document libraries, calendars, contacts, tasks, etc.

 

A SharePoint list containing thousands or even millions of items is not necessarily problematic if well managed. As a general guideline, any list should not have more than 2,000 items per list container. By container, I mean the root of the list, or any folder inside it. So for example, if you have a list with 1,900 list items in the list root, plus 100 folders each containing 2,000 items, then you are fine. Just make sure that your views do not attempt to show or edit more than 2,000 items at a time.  In total, counting all items recursively in folders, SharePoint supports up to 5 million items in each list.

 

If you try to select approximately 5,000 items or more simultaneously for reading or update, the database (MS SQL Server) will typically lock the entire table for the duration of that change. This means that all other operations (read/write) performed on any other list in any site collection in the same database are queued until this large transaction is complete and the lock is released. This is also the case if the query or view you are using retrieves data across multiple folders within the list or across different lists, regardless of recursive nesting of folders as per the guidelines above. To avoid running into this locking behavior, make sure the number of items you retrieve in a single request is well below this 2,000-item threshold. For example, you can control the number of records returned by setting the item limit when creating or modifying your view.

 

Setting an Item Limit

 

While this doesn’t guarantee performance gain, if coincidentally the 100 items you are requesting are scattered across the large list, this is typically a useful way to manage and improve the performance of your large list.

 

Another way to limit the number of items in a container is to divide items into folders. The next figure shows the relative performance between folder views, when folders are used to store and organize documents, and an indexed view of a flat library structure. Each folder contains 500 documents created by different users. In this scenario, there is no significant throughput degradation up to 1 million documents for either scenario, provided that the number of items in the view does not exceed the performance threshold for your system. However, performance is better when folders are used. So if we compare retrieving 2,000 items from a large flat indexed list with 'view by folder', we find that the latter provides better performance.

 

View Performance Chart

 

As the number of items in a folder increases, folder view performance will gradually degrade. Note that the above results are estimates based on our testing, and results may vary in your environment.

 

Indexing your lists properly plays an important role as well in the performance of your views, when used in coordination with applying filters on those indexed columns. For example, if you have a column named "Color" and you index it, then retrieving all the "Red" items will in most cases perform better than if you had not indexed that field, because your view will not have to scan all your items to find the red ones. So if you happen to have 2,000 items in your list, but only 300 red ones, then SharePoint will not have to scan the entire list to retrieve the 300 requested by  your view, and that makes for better performance than if you were to perform the same query without that index.

 

Here's a screenshot of the page from which you edit your indexed columns:

Indexed Columns

 

For step by step instructions on how to create an index, see Manage lists and libraries with many items.

 

As you create views, it's important to remember that SharePoint will only use the first index you specify in your filter on the Edit View or Create View page. For example, let's say you have a list with some columns, two of which are Color and Shape, and both of these columns are indexed. When you create a new view, you can filter on Color (Indexed) = Red and Shape (Indexed) = Square (in that order).

 

Filtering Indexed Columns

 

However, your view won’t benefit from both of the indexes. That’s  because SharePoint will get all the Red items (using the index for the Color column), and then scan those items for Square shaped ones, without using the index for the Square column. So in that case if you have 1000 red items, and only 5 square ones total in your list, then it's best to make sure that your filter is on Shape=Square and then Color=Red instead of vice versa. That way, SharePoint will get the Square items (just 5) and scan them for Red ones, which will perform a lot better than scanning all 1000.

 

Better choice of indexed column to filter

 

For step by step instructions on how to create a filtered view using an indexed field, see Manage lists and libraries with many items.

 

A lot of the information in this blog post comes from the White Paper: Working with large lists in Office SharePoint Server 2007, so please refer to it for more details.

 

Dina Ayoub

Program Manager

Windows SharePoint Services

1 - 10 Next