Wednesday, February 22, 2012
ULSViewer tool not working on real-time logs
Last time I wanted to use the tool, I found that it was not parsing the SharePoint log in real-time. I was however able to open individual log files.
As it turns out, ULSViewer is using *-????????-?????.log as a filter to parse the logs in real-time. I had some 'older' log files in the LOGS folder that were not formatted in the ULS format (from running powershell commands).
Removing these files from the SharePoint Logs folder got ULSViewer real-time parsing working again.
Tuesday, November 15, 2011
Requirements for SharePoint Groups when sending emails to them
The e-mail message cannot be sent. Make sure the outgoing e-mail settings for the server are configured correctly.The outgoing email settings however were configure correctly (alerts and emails from other workflows were being send out).
There were actually two reasons why the emails weren’t being sent:
The settings ‘Who can view the membership of the group?’ on the group was configured as ‘Group Members’
The workflow is executed in the context of the current user. If the user has no access to view group membership, the workflow won’t be able to expand the group.
You should configure this settings as ‘Everyone’
The group had no permissions
The group should have at least ‘Read’ permission to the site. If the group has no permissions configured, you will receive the error as described above.
Wednesday, November 9, 2011
Configure hMailServer for SharePoint
In Short:
Authentication
SharePoint cannot authenticate to an SMTP server, so you need to disable authenctiaction on the hMailServer (at least for the local computer)
- In Settings / advanced / IP Ranges add an IP range (either the ip of the server or simply 0.0.0.0 - 255.255.255.255) and disable 'Require SMTP authentication'.
If you're not using the build-in SMTP service, you need to configure SharePoint incoming mail to use a dropfolder. Also, SharePoint relies on the x-sender and x-receiver headers to process the mail. hMailServer does not add these messages, so these need to be added
- Create a [dropfolder] and make sure the SharePoint Timer Service has read/write/modify access to it.
- Configure hMailServer's scripts (Settings / Advanced / Scripts) to handle the OnDeliverMessage event.
- Use the following script
- Configure SharePoint incoming mails to point to the [dropfolder]
- Optionally configure hMailServer with a catch-all address (Domains / <domain> / Advanced tab) so you don't have to create an account for each Email Enabled library you use in SharePoint.
Sub OnDeliverMessage(oMessage)
Dim path, filename, fso, original, copy
path = Split(oMessage.Filename, "\", -1, 1)
filename = "[dropfolder]" & path(UBound(path))
Set fso = CreateObject("Scripting.FileSystemObject")
Set copy = fso.CreateTextFile(filename, True)
copy.WriteLine("x-sender: " & oMessage.FromAddress)
copy.WriteLine("x-receiver: " & oMessage.To)
Set original = fso.OpenTextFile(oMessage.Filename, 1)
copy.WriteLine(original.ReadAll)
copy.Close
original.Close
End Sub
Tuesday, October 25, 2011
Content By Query WebPart outputs incorrect url when there is no root sitecollection
If you have a webapplication with no sitecollection at the root url (e.g. all site collection are located under http://<webapp>/sites/…) and you use the CBQWP to query for list items (events / tasks./ … anything but documents), you will receive a ‘404 page not found’ when clicking the link.
The CBQWP uses the CopyUtil.aspx page to redirect you to the item in question (see http://weblogs.asp.net/jan/archive/2008/02/26/copyutil-aspx-a-little-sharepoint-gem.aspx). If there is no sitecollection at the root url, the site collection url will be missing from the url that is generated.
To solve this issue, edit the ‘ContentQueryMain.xslt’ file and change
<xsl:if test="$UseCopyUtil = 'True'">
<xsl:value-of select="concat('/_layouts/CopyUtil.aspx?Use=id&Action=dispform&ItemId=',@ID,'&ListId=',@ListId,'&WebId=',@WebId,'&SiteId=',$SiteId)"/>
</xsl:if>
into
<xsl:if test="$UseCopyUtil = 'True'">
<xsl:value-of select="concat($SiteUrl,'/_layouts/CopyUtil.aspx?Use=id&Action=dispform&ItemId=',@ID,'&ListId=',@ListId,'&WebId=',@WebId,'&SiteId=',$SiteId)"/>
</xsl:if>
Tuesday, October 18, 2011
SQL Server 2005 ‘Login failed’ (error 18456 state 16)
The event log of one of our SQL Servers filled up with events 18456 (every minute).
Failure Audit: Login failed for user '<DOMAIN>\<username>’. [CLIENT: <local machine>]
Looking in the SQL Server log, I found some extra information.
2011-10-18 12:52:00.55 Logon Error: 18456, Severity: 14, State: 16.
I found this MSDN blog post, explaining most of the State codes, except for state 16.
ERROR STATE | ERROR DESCRIPTION |
2 and 5 | Invalid userid |
6 | Attempt to use a Windows login name with SQL Authentication |
7 | Login disabled and password mismatch |
8 | Password mismatch |
9 | Invalid password |
11 and 12 | Valid login but server access failure |
13 | SQL Server service paused |
18 | Change password required |