Monthly Archives: October 2007

Using “Person or Group” in a calculated column

People commonly ask about using a column of data type "Person or Group" in another column of data type "Calculated".

Bottom line, this does not work in WSS 3.0 (or MOSS).

When adding a calculated column, WSS shows the list of fields it allows you to use for the calculation.  If you type in the name of a column that is not in its list, it tells you:

One or more column references are not allowed, because the columns are defined as a data type that is not supported in formulas.

Workaround: Use an event handler.  The event handler fires when the user saves the item.  It performs the update you would have wanted the calculated column to do for you.

Useful links on calculated fields in general:

Quick disclaimer: I believe the above to be true and accurate, but I’ve seen enough clever tricks here and there in MOSS/WSS that I wouldn’t be extremely surprised (agog if you will) if someone has figured out a way to do this without resorting to code.  If you’ve figured out clever work-around or know someone that did, please let me know!

MOSS/WSS tells me: “The page has been modified by another author on …” but actually, it was not.

We did some heavy duty re-organizing of our site taxonomy via "Manage Content and Structure".  For reasons unknown to me, this process (though working in the main) broke some navigation links in the quick launch.  The broken links are characterized by:

  • Wrong URL.  For example, it should be "/sites/departments/HumanResources/…".  However, the new link is "/sites/Corporate/HumanResources/…".
  • Repeated bits on the query string of the heading, as in:

/sites/departments/HumanResources/_layouts/viewlsts.aspx?BaseType=0?BaseType=0?BaseType=0?BaseType=0

That’s easy enough to fix via site settings/navigation.  Except, MOSS presents me with this when I try and do it:

image

The fact is, no one is making any change there (aside from me, of course).

A quick search turns up this MSDN forums discussion: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1691577&SiteID=1

William Heurdier lays it out nicely in the the penultimate (as of 10/02/07) post:

Fact is:

To reset corrupted headings, you have to :

– remove all the lists under corrupted heading

– remove corrupted heading

– From the list settings, add a removed list to the quick launch (This regenerate a non corrupted heading)

You are then good to go….


Sharepoint Expert – Sogeti Cap Gemini Switzerland

I was a bit confused because I kept wanting to go to the navigation page, make the change and then get hit with the "page was modified" message.  Eventually, I realized I had to go to the list settings and remove/add it to quick launch.  That did the trick.  Happy times are here again!

</end>

 Subscribe to my blog!

Problems with “Pause Until Date” activity in SPD-created workflows

UPDATE 12/10/07: Hotfix as described in MSDN KB929816 solved the problem for us mentioned below.  Obtain the hotfix and then install on each server on the farm.  Then, sharepoint configuration utility on each server.  Here is the MS Support link for that KB: http://support.microsoft.com/kb/932816

Background:

We have a business requirement where an environmental engineering manager needs to ensure that 30 some-odd manufacturing locations located throughout the United States needs to ensure that those plants file for their various state-mandated permits in a timely fashion.  One approach we’ve investigated leverages the "Pause Until Date" activity available to us via SharePoint Designer worfklow.  The engineering manager (or her assistant) enters all the required permits and reminder dates at the start of the year.  The system then does all the heavy lifting.

Environment:

MOSS, 64 bit, virtual machine environment (development box), 2 servers (SQL on server #1, everything else on server #2).

Problems:

The Pause Until Date action seems like the perfect solution and it may well prove itself to be.  However, it does not work well out of the box (for us). 

  1. The workflow job was not scheduled to run, ever.  I discovered this by reading through Christopher White’s (http://chrissyblanco.blogspot.com/2007/06/issues-with-delay-activity-in-moss.html) excellent write-up by using stsadm thusly:

    C:\>stsadm -o getproperty -propertyname "job-workflow" -url http://localhost

    <Property Exist="No" />

    C:\>

    That was a surprising result but easily solved:

    C:\>stsadm -o setproperty -propertyname "job-worfklow" -propertyvalue "every 1 minutes between 0 and 59" -url http://localhost

    Operation completed successfully.

    C:\>

    Upon doing that, the first "In Progress" workflow quickly fired up and did it’s job.

  2. Sadly, the next one didn’t work as expected.  Thankfully, Christopher refers us here (http://support.microsoft.com/kb/932816).  As of writing of this entry, we’re waiting for the IT department to obtain that hotfix, but it does look promising.  Our copies of the affected .dll’s do not share the same byte size, so hopefully this will solve the problem.

Workaround:

Re-running the stsadm -o setproperty command seemed to prod the workflow timer awake.  It would, roughly 7 minutes later, actually wake up and continue along with the workflow. 

Questions / Issues Addressed:

Pause Until Date does not work.

Pause Until Date does not resume.

Workflow status does not change from "In Progress"

Workflow status stays "In Progress"