Brad's profileSharePoint BlogPhotosBlogLists Tools Help

Blog


    January 28

    Useful "How To" guides for setting up Mail-enabled Systems

    I was looking for the missing piece of a puzzle while setting up an email-enabled system at a client's site and came across these 2 great reference documents that guide you through the entire process. I'm linking to them from here so I can quickly find them again if I need to

    Combined Knowledge have these documents on their download page -

    How to configure Email-enabled lists in WSS 3 / MOSS 2007 using AD and Exchange 2003 can be found here, whereas the version that walks you through the Exchange 2007 minefield is here.

    Community knowledge sharing at it's best, compliments of Combined Knowledge.

    There's also guidance on how to set it up if you do not have Exchange configured. Heady stuff from Todd Klindt.

    Great articles and invaluable resources guys!

    Brad

    Variables available in the "Current Item" are frustratingly incomplete

    [Rant Coming...]

    I wish I wish I WISH there was an easier way to do this... but every time I need to create a URL (link) to a list item, I have to build it manually in the Workflow. There are simply no properties available that you can just "use".

    Here are all of the OTB properties, not including the columns (in my case, I had a "Title" column).

    Approval status - (0;#Approved)
    Approver Comments - (?????)
    Attachments - (False)
    Content Type - (Item)
    Content Type id - (0x01000A6DA9AE04C6EC49A86D68039C7C52E4)
    Created - (28/01/2009 3:33:17 PM)
    Created By - (DOMAIN_NAME\USER_ID)
    Encoded absolute URL - (http://yourdomain/bta/Lists/TestEmailCheck/2_.000I MEAN, COME ON! HOW USELESS IS THIS!!
    File Name - (2_)
    File type - (?????)
    GUID - {10A35B6E-E36C-4BCA-B996-D21BF7F03BCF}()
    HTML file type - (?????)
    ID - (2)
    Is Current Version - True()
    Item type - (0)
    Level - (1)
    Modified - (28/01/2009 3:33:17 PM)
    Modify by - (DOMAIN_NAME\USER_ID)
    Name, for use in forms - (2_.000)
    Order - (200)
    Path - (bta/Lists/TestEmailCheck)
    Server relative URL - (/bta/Lists/TestEmailCheck/2_.000)
    Type, Icon linked to document - (?????)
    UI version - (512)
    URL Path (/bta/Lists/TestEmailCheck/2_.000)
    Version - (1.0)

    So to build one, we have to use the following process:

    http://HardcodedURL/[Path]/DispForm.aspx?ID=[ID]

    Hardcoded url makes AAM's useless (but then so does the Infrastructure Update, so who's counting).

    The hope is that dispform.aspx location or filename is never change, because the url breaks again.

    How hard would it be to have one of the URL fields actually contain a working URL that took you to the list item! Aaaargh!

    [Rant complete.]

    Brad

    Timer Job shocker (yes' it's still out there)

    Was at a client's place today and saw this for the first time in ages - IIS would not start, error ID's 6398, 6482 and 7076 in the event log, emails not being sent, etc.

    "Wait just a doggone minute, here - I am certain this was fixed in WSS SP1" - but even though the client was running a more recent version of WSS & MOSS than SP1, the issue still existed - and the errors and symptoms were exactly the same.

    It turns out that there is another hotfix now available for this - but it's not a part of SharePoint code, so it's a separate one that needs to be applied if you are seeing any of these issues (in other words, it's unlikely to be a part of WSS / MOSS SP2 due out in a couple of months).

    Hotfix can be requested here - http://support.microsoft.com/kb/946517/en-us - Articles discussing the fact that the issue still exists can be found here and here... It only seems to occur in IIS 6, and is more likely to occur when you have more app pools running under the same account as the Timer service.

    Now where's the Change Request form...

    Good luck :)

    January 26

    Colocating SharePoint databases on the same SQL Server as 3rd party apps

    I'm currently working my way through a deployment for a test environment on one of the projects we are currently engaged with (yes, I'm working on Australia Day - How un-Australian).

    Anyway, this particular 3rd party application has some specific requirements around collation settings which means it is impossible to create a SharePoint database on the same Database server instance. This error is thrown every time you attempt to create the database...

    An exception of type Microsoft.SharePoint.SPException was thrown.  Additional exception information: The specified SQL server instance has invalid sort order Latin1_General_BIN2.  Choose a server instance that performs case-insensitive and non-binary comparisons.

    So what's the solution? Pretty easy actually... just create a separate instance on the SQL Server and use the default sort order, then install SharePoint to that instance.

    Problem solved - back to the BBQ...

    Brad

    January 20

    Unable to delete items from a list

    I was onsite at a client's site today and I created a couple of test entries in a list they had created, to test some workflow functionality. That was all well and good, until I went and tried to delete the dummy data.

    Survey Says: Access Denied!

    What the hell? It was getting close to the end of the day and after about 15 minutes I decided to put the issue aside and attack it the next morning with a fresh set of caffeine-enhanced eyes.

    Rock up the next morning, jump in the drivers seat and go...

    "Okay, so this is not standard OTB SharePoint functionality... Which means there's probably a feature somewhere that's trying to preserve data integrity... and it doesn't stop me from editing the item, just deleting it, so it's probably hooking into the ItemDeleting event or something..."

    One quick look at the Features folder later (ordered by last modified) and I notice that there are several features there... but the one I'm most interested in is the one called "ManageEventHandlers" - Oooooh, I wonder what this one does!

    In the feature.xml file you can normally find the description of what the feature does (which is easier than trying to find the feature and the site it's been deployed to using the UI), so I cracked it open and - Oh happy days - The author was proud enough of their work to put a reference in there to their own site - A big cheerio to Brian Wilson from MCS UK :)

    The feature is actually a good one to have, as it lets you hook events that occur in SharePoint up to DLL code you have written - and all using the UI... but the client did not know that they were using free open-source code on their site, so the person who initially set up the site clearly had not heeded the warnings in this article.

    So this time the feature in question adds a link to the settings pages of lists and libraries, called Event Receivers - this lets you pick and event, then identify an assembly and method to use when that feature gets called. In my list, there was 2 methods connected to the "ItemDeleting" event - remove them, and everything comes good :)

    The feature can be downloaded here, and the blog articles that talk through it are here, here and here (3 articles in total).

    Brad

    January 19

    Explorer View doesn't work on a specific site...

    Had an issue last year at a client's site where a user noticed that they were unable to view a document library using "Explorer View". They kept getting the IE window, but where the explorer view would normally be, there was just a 404 error message.

    Bit odd... so I checked around... Nothing wrong with her SOE... Site was trusted... She could access explorer view on other sites in the same farm, and even sibling sites... She wasn't running vista... Hmmm...

    Turned out she suffered from an "I found it First" syndrome - everyone had the same problem... with that site and that one only. Well, that makes it a bit easier - gotta be on the server! Eventually we traced it back to a mis-configured managed path hierarchy. This particular client had set up the following managed paths:

    http://intranetsite/IT as a Wildcard inclusion site, and
    http://intranetsite/IT/Department as another Wildcard Inclusion site.

    This plays havoc with SharePoint Designer because it can't resolve the webdav path properly... and I guess behind the scenes that's what the explorer view is doing as well. Anyway, replacing http://intranetsite/IT/Department with an explicit inclusion and a placeholder web site did the trick.