Sharee’s Blog

Software Development for Everyone

SharePoint Workflow History List


SharePoint typically creates two lists when working with workflows. The built in workflows attempt to utilize a Tasks list and a Workflow history list. Over the past few days I have had an issue with an approval workflow rejecting the approval without any user interaction. In order to track down the problem I had to turn to the workflow history list. This list is located at SiteURL/lists/Workflow%20History/

In looking at this list (see screen shot below) I was able to track the workflow through the entire and could determine what actions were being taken by the user and by the system.

Number Event Type
0 None
1 WorkflowStarted
2 WorkflowCompleted
3 WorkflowCancelled
4 WorkflowDeleted
5 TaskCreated
6 TaskCompleted
7 TaskModified
8 TaskRolledBack
9 TaskDeleted
10 WorkflowError
11 WorkflowComment

SharePoint Workflow Status


I have been working on a rather complicated workflow over the past few weeks and needed to obtain the value of the Approval status for the workflow. My initial attempt was to create a list column of a single line of text and simply output the workflow approval value to the column. This worked great in my initial findings but ultimately would only provide responses for things I could control, such as when I approved or rejected a document. My workflow also needed to know if the approval process had Not Started or was In Progress. Once I was able to document all of these status values I was able to get my workflow to do everything I needed. Hopefully, these will come in as handy for you as they did for me.

The workflow status are constants (integers), so you’ll need to refer to a list like:

Status Value
Not Started 0
Failed on Start 1
In Progress 2
Error Occurred 3
Canceled 4
Completed 5
Failed on Start (retrying) 6
Error Occurred (retrying) 7
Canceled 15
Approved 16
Rejected 17

Moving Wiki Pages in SharePoint


When working in SharePoint, moving documents from one library to another is not a big deal. Most libraries support the Open with Explorer capability and then it is a simple matter of drag and drop.

In addition, most libraries have the ability to move or copy individual documents using the drop down menu on the document and selecting the Send To –> Other Location. Then you can simply enter in the new library and voila.  This includes moving files within a site or even to another site all together.

Wiki libraries, however, do not support either of these features.  Because wiki libraries store web pages (pages with an .aspx extension), they are intended to be linked or to link to other location. They are not what SharePoint considers “documents” but rather “code” pages. Because of this, the wiki library does not give you any built in capability to move or copy files. There are few ways to work around this issue. If you are using the Enterprise version of SharePoint there is access to a Manage Content and Structure view that will allow you to move or copy. This usually requires elevated privileges, and can be found under the Site Actions menu of the site.

Once you are in the Manage Content and Structure area you simple need to locate the files you want to move or copy and select the Actions menu.

This function only works if you are moving or copying files within the same site collection. If you want to work between two site collections you will have to take a look at a few other options.

1. Using stsadm

2. Creating a template out of the library (and including content). This is limited to 10MB, so may not be a viable option

3. Using Powershell script

SharePoint, One Bite (or Site) at a Time


It is no surprise to me when I go to visit a client who “wants to do SharePoint” to find out during some common themes during the initial assessment.

  1. They have already deployed a test environment
  2. Their test environment has now turned into their production environment
  3. Their user base has grown organically and without much guidance in structure
  4. They have blended permissions throughout their structures

So it shouldn’t come as a surprise to me when they talk about ALL the things they want SharePoint to do for the organization. I’m going to make some general statements here and hope that by keeping things general 1)no one will know I am talking specifically about their organization and 2) no one will get offended.

The reality is that these are not the exceptions, but rather the norm. There is not much education out about SharePoint in how to phase it into a company. When an organization thinks about having an intranet, they don’t always have a formal project wrapped around it. They don’t always have a Governance Plan, they almost never have a Taxonomy, and they don’t understand the differences between and intranet, team sites, and workspaces.

So, how do we tackle SharePoint? One site at a time. Start with a department, or a business process. One of the best things an organization can do when introducing a new technology is select a project that has a clearly defined scope, can reach a broad audience, and has a positive impact on the business. One example is an employee On Boarding process. Many different departments are involved when a new employee is hired. The HR department, accounting, IT, and others. This process is significantly different at every company, but still has commonalities across them all. Most employees need 1) a physical place to work 2) a phone (mobile or otherwise) 3) access to the building 4) a computer  … you get the idea. So in most companies this process can be automated. This type of SharePoint site does not belong on an intranet, however it can be linked from an intranet so employees can go to the intranet to start the process. The reason this type of site does not belong on the intranet is because the permissions are going to be unique to the process.

posted under Misc | No Comments »

Ten reasons not to fix computers for free


As a self proclaimed techie, it is impossible to attend a family function without someone asking for me to look at their computer. It starts with a simple comment, like “yeah, my computer is acting weird”, and then a little later turns into “hey, do you think you could take a look at my computer”. In the end, the answer should be NO. But for the past 20 years the answer has always been, sure. Now, I have two options other than that. My first option is that I now outsource computer support through a 3rd party for a reasonable monthly fee. I purchased a 1 year plan for my parents for Christmas, a 3 month plan for my sister for her birthday. It’s working out great. For those family members who are too cheap to pay the $17/month, then I send them a link to this article 10 Reasons you should not fix computers for free

posted under Misc | No Comments »

How to hide “View All Site Content” in SharePoint 2010


I have had many, many clients ask if there is a way to hide the All Site Content on the quick launch bar in SharePoint. And, the answer is of course, yes. The caveat is …. is there an easy way. And, which method you deploy will also dictate where it is hidden, meaning some methods have to be implemented on a page by page basis. That can be a lot of work, and can require constant modification on new pages. There are a variety of options. So, I composed a few resources on all the options for hiding the All Site Content. Good luck, whichever choice you make.

On Anonymous Access pages

Permission Based Hiding

To a Publishing Site Template


1 Way to Deploy as a Feature

SharePoint 2010 CSS Reset (just in case)

Creating a Solution

Another Way to Deploying as a Feature

And Yet Another Way to Deploying as a Site Feature


posted under Misc | No Comments »

Cannot Upload to a Wiki Library


Wikis are a terrific feature of SharePoint. There are tons of articles on wikis and how wikis work, so this post is not about the functionality of wikis, but rather one of the shortcomings I discovered and needed to solve. For some reason, a wiki library in SharePoint 2010 does not have Upload Document capability. Recognizing that it is easy to create wiki pages in SharePoint, but what about those wiki pages I already created in my SharePoint 2007 environment that I just want to move to our new SharePoint 2010 environment. It should not be this difficult to simply upload a couple of file.

Every library comes with a few forms that provide the functionality of the library. For example, the upload form is called Upload.aspx and is located in the /Forms/ folder of the library. By simply calling the I could access the upload form. However, I uploaded the file and was directed to the properties page (since I had custom metadata in my library), when I would click Save, it would then take me directly to the document view in the browser instead of the library default view. Not a good end user experience. So you can use the upload multiple option to solve this problem, but the upload multiple page has to pass the unique list id (which is 32 characters). In order to find this url you have to change the dialogs setting of the library.

To change the settings, go to the library settings for the library. When you are in library settings, notice the URL. Here is where you will find the List ID. You will need this later, so it is a good idea to copy this value. List=%7B9B3B55A7%2D278E%2D4318%2D85A0%2DED817726E703%7D

Click Advanced Settings. In the Dialogs section, set the Launch forms in a dialog to No.

Once this is disabled, you can simply call the Upload.aspx page, and past in the ListID as well as the MultipleUpload=1 parameter. Your URL should look something like this:


The next step was to get that into the library so the user has easy access to upload. To do that I simply edited a Content Editor Web Part to the top of the page. In the Web part I added a link to the Upload Multiple Files url. I called the Web part Administrative Tasks, and in this case set the Audience Target to only a select group of users.

SharePoint Send To function not working


Several times, with different clients, I have run into the issue where the Send To function of SharePoint doesn’t work. There are a variety of reason for this as it turns out, but one of the main issues is that there is an add in that runs the code to copy files to other location. The add-in is called STSUpld CopyCtl Class add-in. For some reason this control doesn’t work properly in Internet Explorer 9.

According to Microsoft the CopyCtl is an ActiveX control that enables a user of Microsoft SharePoint Foundation 2010 to copy a document in a list to one or more locations.

  1. You can disable this control by performing the following steps:
  2. In Internet Explorer, go to the Tools menu and select Manage add-ons
  3. The default view is Currently loaded add-ons. Change that to All add-ons or Run without permissions.
  4. Locate the STSUpld CopyCtl and click the Disable button.

It might be helpful to know all of the ActiveX controls that SharePoint uses. A comprehensive list can be found here with some additional information regarding browser security issues with Active X controls. For reference purposes I have provided the information below.

ProgID Description DLL File
STSUpld.CopyCtl Copies a document in a list to another location. STSCOPY.DLL
DiagramLaunch.DiagramLauncher Starts Microsoft Visio 2010 to create a new Visio diagram. DGRMLNCH.dll
SharePoint.ExportDatabase Starts Microsoft Access 2010 to create or export the data from a linked table to a SharePoint list. OWSSUPP.dll
ListNet.ListNet Displays a SharePoint list in DataSheet View, which enables the user to edit multiple items at the same time. STSLIST.dll
Name.NameCtrl Displays presence information for the SharePoint users in the site. NAME.dll
OISCTRL.OISClientLauncher Starts Microsoft Office Picture Manager for uploading images to a Picture Library. OISCTRL.dll
SharePoint.OpenDocuments Starts the appropriate client application when a document is edited in a document library. OWSSUPP.dll
SharePoint.OpenXMLDocuments Starts Microsoft InfoPath 2010 to create or edit XML documents in a document library. inlaunch.dll
SharePoint.SpreadsheetLauncher Imports lists from Microsoft Excel spreadsheets into the current SharePoint site. OWSSUPP.dll
SharePoint.StssyncHandler Returns the name of the application to synchronize calendars and contacts between Microsoft Outlook and SharePoint. OWSSUPP.dll
TaskLaunch.TaskLauncher Exports tasks from SharePoint to Microsoft Project 2010. NAMEEXT.dll
STSUpld.UploadCtl Enables the user to upload multiple documents to a document library at the same time. STSUPLD.dll

Cannot connect to the configuration database


SharePoint can be extremely challenging to support, and mainly because there are so many thing that interact with SharePoint. When troubleshooting, you really have to narrow down the cause of the issue as SharePoint or some other application. In this case, a client was needing to move their SQL Server databases from the C: drive to the D: drive as their C: drive was running out of space. This task has little to do with SharePoint, oh, except that virtually everything SharePoint does is stored in SQL Server.

So in this case, the client turned their physical SQL Server into a virtual machine. We reconfigured all the settings so SharePoint would not know the difference and we received the dreaded message . . .

Immediately everyone started thinking it was SharePoint. We had not made any changes to the SQL Server. But as it turns out, somewhere between that computer being a physical machine and a virtual machine, the SharePoint_Config database became corrupt. It happens. It just happened for us during this process. There are several things you can try, but in our case a simple SQL script to ping the database told me it was hung.

Note: you must have sysadmin rights in SQL Server to perform the following functions.

select state_desc from master.sys.databases where name = ‘SharePoint_Config’

This was an indication that at some point SQL Server was trying to repair the database, but it was unable to complete. So next I ran the following scripts.

Once this was complete, which was indicated by a success message I tried to ping the database by running my original script

select state_desc from master.sys.databases where name = ‘SharePoint_Config’

This time the message was ONLINE.

When I opened Central Administration, all was good in SharePoint again. So, this is a perfect example of how troubleshooting SharePoint isn’t always about SharePoint.

SharePoint Alerts


I had a client today that was experiencing odd behavior from alerts in SharePoint. The purpose of alerts is simple, send an email when something happens. This can be when a task is assigned to me, when an item is added to a list/library or when something gets updated. There are quite a few choices. While the list of choices is finite and the capability is relatively simple, sometimes they just don’t work as expected. There are several reasons for this. One example has to do with list item permissions. If a particular list is set to allow users to see only their own items, while the ability to subscribe to any changes can be setup, the user would not receive an alert unless the item modified was created by them.

You can't select both Read Access = Only their own and "Send email when ownership is assigned"

I found a great Web site today that had some great information on it, and while I understand how crazy people get about copying their content, since this site has not been updated in 2 years I’m going to assume it is not heavily used and therefore may go away in the future. That being said, this is the Web site

One of the features I liked best about the site ( is that is had a list of 3rd party tools you can download (for free from CodePlex) or purchase. So, I am referring to the site but am making sure that if that site happens to go away I still have reference to some of the great information. Thanks!

Pentalogic Reminder – Commercial End User, Alert Service/Web part

Bamboo Alert Plus – Commercial End User, Alert Service/Web part

Bamboo Alert Administrator – Commercial Alert Administration Tool

Bamboo My Alerts Organizer – Commercial End User Alerts Administration Tool

SharePointBoost Alert Reminder Boost – Commercial End User Tool

Virto Alerts Customizer – Commercial End User Tool

SharePoint Solutions Alert Manager Plus – Commercial Alert Administration Tool


Advanced Alert for SharePoint

SharePoint Alert Manager – Free

« Older Entries