Thursday, June 14, 2012

SharePoint 2010 Location Based Views (Per-Location View)

In SharePoint 2007, location based views (different views for different folders) can be achieved by using content types, such as creating sub content types from the folder content type.

SharePoint 2010 makes location based views a lot easier. Once the Metadata Navigation and Filtering feature (site feature instead of site collection feature) is enabled at the Site Actions -> Site Settings -> Manage site features under Site Actions heading,  the Per-location view settings is available for use under the General Settings heading of the settings page of document library and list. Per-location View Settings page allows you to configure available views for specific folder, content type, managed metadata, etc.

Tuesday, May 29, 2012

SharePoint Solution Deployment Stuck at Deploying Status

While trying to upgrade a SharePoint 2010 solution using the following command, received the error message saying "A deployment or retraction is already underway for the solution blah, and only one deployment or retraction at a time is supported".

 update-spsolution -identity blah.wsp -literalpath "blah" -gacdeployment

 The status also shows "Deploying" at Central Administration / System Settings / Manage farm solutions under Farm Management section.

The fix: Go to Central Administration / Monitoring / Check job status under Timer Jobs, Under Running section, locate the entry for the solution deployment job, the job should be named as "Microsoft SharePoint Foundation Solution Deployment for %SolutionName.wsp%. Click on the job title, then click the Delete button to delete the job on the next page. Afterwards, you can try to deploy the solution again.

The old stsadm comand, for example, see below, does not work anymore.
stsadm -o canceldeployment -id "job guid"

The "job guid" can be retrieved by issuing the following command:
stsadm -o enumdeployments

Monday, May 14, 2012

SharePoint Configuration Database Too Big

Ever wondering why is the SharePoint configuration database so large?  The database is over 35 GB and its transaction log file grows up to 90 GB. There are potentially 2 issues.
  1. the log file is too big: the log file can be shrank easily by using Management Studio, for example. Setting the database to simple mode can help too, but evaluate the pros and cons before making the change.
  2. the database is still too big after shrinking the log file. After some research, I found out that there is a TimerJobHistory table in the configuration database and this table uses huge amount of space. There is a job "Delete jobs history" under Central Administration->Monitoring->Timer Jobs, which runs weekly by default, and that job is supposed to delete old entries from the timer job history table. In my situation, the table has entries more than one month old and default number of days to keep is 7, I believe. The timer job is enabled and there is no error messages. So what happened?
Long story short, the timer job runs weekly as expected, but it fails because during the execution, the transaction log runs out of space. To fix the problem, I need to reduce the amount of data being deleted by the timer job during each run, so I need to modify the daystokeephistory value of the timer job. However, there is no UI to modify the retention days, the only way is to use PowerShell. See below:
$test = Get-SPTimerJob | Where-Object {$_.name -eq "job-delete-job-history"}
$test.daystokeephistory
Above would display the current value.You can set the proper value for daystokeephistory then use either Central Administration or Power Shell to kick off the timer job, see below.
$test.daystokeephistory = 25
$test.update()
$test.runnow()
After multiple runs, at the end I set the timer job schedule to daily and daystokeephistory to 2 days.

So far so good.

Tuesday, May 8, 2012

List form can't be edited by InfoPath if the list has managed metadata column

Many people may have known about this already.

The exact error message from InfoPath is: The following fields in the SharePoint list are not supported because of their data type and will not be available in InfoPath Designer

Friday, May 4, 2012

Provision the Web Analytics Service Application on Microsoft SharePoint Server 2010

Good information from Bill Baer's Blog:


http://blogs.technet.com/b/wbaer/archive/2009/11/21/step-by-step-provisioning-the-web-analytics-service-application-on-microsoft-sharepoint-server-2010-beta.aspx

Also usage reporting functionality is not available in SharePoint Designer 2010. SharePoint Designer 2007 has the reporting functionality.

After  Web Analytics Service Application is provisioned, users with proper permissions can go to Site Actions/Site Settings page to view usage reports. The reports are under Site Actions heading.

Thursday, March 29, 2012

Change SharePoint Designer Workflow task list

When creating a SharePoint Designer 2007 workflow, the workflow uses the first task list available, based on the name of the task list, sorted alphabetically.

2 ways to use a specific task list for your workflow:
  •   create a new task list with a name which makes the new task list the "first" task list available. After the workflow is associated with this new task list, then you can go ahead rename the task list to your liking.
  • modify the *.wfconfig.xml in SharePoint Designer. Specifically, change the TaskListID to the tasklist id of the task list you want the workflow to use.

Wednesday, March 28, 2012

SetState activity fails using one of the predefined SPWorkflowStatus enumeration values

Get the following error message: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.     at Microsoft.SharePoint.Workflow.SPWorkflow.SetIStatus(Int32 i, Int32 iStatus)

Workaround: use custom values, see below:

<ExtendedStatusColumnValues>
<StatusColumnValue>CustomStatusStatusColumnValue>
ExtendedStatusColumnValues>