Author Archive

SharePoint TeamTime is out now!

Date:December 12th, 2011 Author: Tags: , , , ,
Category: SharePoint TeamTime, SharePoint Timesheets Comments:0 ;

teamtime-big-noshadow

Track and analyze your team’s time with our newest product: SharePoint TeamTime! A ready-to-use timesheet site template for SharePoint 2007 and 2010.

What’s so great about TeamTime you ask? Well let me tell you:

Log your time your way

Want to log your time as you work? Then simply punch in on your personal dashboard to begin the timer:

TeamTime Punchcard

Want to write up your timesheets when it’s convenient for you? Your dashboard has this covered too:

TeamTime Timesheet

Make those numbers work for youTeamTime Analysis

Logging the time is all well and good, but what we really want is to see what all that data adds up to. Don’t waste time working for the numbers; make the numbers work for you.

Using the Analysis page you can drill down to the data you want, and view read-made summaries and graphs.

If you still want more from your numbers, pick the data you want from the Reporting page and export it straight to Excel.

Need more?

  • Per-server licensing: No wasting time trying to license and set up every user; buy it once and forget licensing ever happened.
  • Take the tour: Watch our TeamTime Demo; see if you can count how many times the word ‘time’ is used. It’s a lot, trust me.
  • Free 30 day trial: Download and try it out!

SharePoint Highlighter v1.5: If wishes were trees

Date:November 22nd, 2011 Author: Tags: , , ,
Category: Highlighter Comments:0 ;

Since SharePoint Highlighter’s release in May we’ve had some great suggestions and requests for features and improvements; one of the more surprising was the request for performance enhancements for those with 20 or more Highlighter columns in a view (and really big screens, no doubt).

Although we’ve added odds and ends during other projects, the Highlighter wishlist has steadily grown; fed by the suggestions from its growing user base and our own drive for continuous improvement.

So while TeamTime was being tested and prepared for beta, we stroked our collective beards (it is Movember after all) and decided to clear it down. Here are some highlights:

  • Row highlighting columns hide themselves
  • Highlighter displays on View Item form
  • Lookup columns now supported

Hidden Row Highlighting Columns

If you have a Highlighter column which displays Row Highlighting you’ll no doubt have noticed that the empty Highlighter column has to be visible on the page on order for the highlighting to work:

v1_5_rh_a

In Highlighter v1.5 the column will automatically hide itself from the page if it is only used for Row Highlighting:

v1_5_rh_b

View Item Form Display

Previously Highlighter columns would not display on the View Item form (or customized versions of it):

v1_5_df_a

Highlighter columns will now display on this form, with the exception of those used only for row highlighting (which will be hidden entirely):

v1_5_df_b

Lookup Columns

You can now use Lookups as source columns, which act in much the same way as Choice columns:

v1_5_lu

Upgrading

Please see the manual for instructions on downloading and upgrading to the latest version of SharePoint Highlighter.

What’s on your wishlist?

The more suggestions we have the better we can make our products. Every feature request is reviewed and added to the product’s wishlist. Once a wishlist hits a certain size, the most popular (and/or the best ideas) are rounded up and herded into the next version.

Contact us at [email protected] and tell us what’s on your wishlist!

SharePoint TeamTime: It’s Time for Beta!

Date:November 16th, 2011 Author: Tags: , , , , , , ,
Category: SharePoint TeamTime, SharePoint Timesheets Comments:1 ;

teamtime-big-noshadowWe have started beta testing our newest product SharePoint TeamTime and we expect it to be finished in the next couple of weeks!

Sign me up! Wait… what is it again?

TeamTime is a time tracking site template for SharePoint. Users track their time by entering it into a timesheet (a.k.a. timecard) or by punching in and out of tasks.

You can then get an overview of everyone’s time logged using our custom reporting tool and embedded versions of PivotPoint and FilterPoint that come preconfigured in the site.

Tell me more!

They say a picture is worth a thousand words, so here’s a glimpse of what’s inside:

‘My Dashboard’

tt_mydashboard

‘Analysis by Week’

tt_analysis

To look in more detail at how it works (or just to see more pictures), you can have a glance at our manual: SharePoint TeamTime manual.

If you want to be notified when its released then signup here.

Whats a Beta test and can I help?

Its the final stage in testing a software product before its released into the real world. All the major bugs should have been squashed but there may be some minor problems left. The idea is to get broad feedback from ‘real’ users that will help pick up problems, omissions or things that are just a little confusing that you wouldn’t find otherwise.

Beta testing isn’t for everyone – these are the things you should bear in mind :-

  • You need to be reasonably proficient with SharePoint.
  • You will need an in-house deployment of SharePoint 2010 or 2007 – its not suitable for BPOS/Office 365
  • You should have a “non-production” environment to test in.
  • You will need to have some time free to give it a good test and provide feedback.

If you would like to help us Beta test this then please e-mail us: [email protected]

SharePoint Timesheets – What are your options? Part 3: Free Solutions

Date:November 10th, 2011 Author: Tags: , , , ,
Category: General, SharePoint TeamTime, SharePoint Timesheets Comments:6 ;

Following on from Clare’s previous two posts on Native SharePoint Timesheets and Plug-in one, I’ll be running you through the options for creating SharePoint Timesheets for free.

During the early development of SharePoint TeamTime we looked at our potential competition, including the free alternatives. Of those we found, the following three were the most notable:

  • Fab 40 – Timecard Management: One of the famous Fab 40 templates (2007 only)
  • Built-in Timecard List: A little known built-in Timecard list (2010 only)
  • Open Source Project: Paul Beck has kindly published an open source solution (2010 only)

Fab 40 – Timecard Management

The Timecard Management template was produced by Microsoft as a demonstration of the capabilities of WSS 3. In Microsoft’s own words:

The Timecard Management application template helps teams track hours spent working on various projects. The site enables team members to ‘punch in’ on a particular project and ‘punch out’ when they cease work. The system automatically generates the time worked by project, and can show managers who is working on a particular project…

This was one of the favorites out of all the templates we tried. In fact, the punching in and out functionality was a feature we emulated into TeamTime. I’d like to think of TeamTime as a spiritual successor to this template.

Built-in Timecard List

SharePoint 2010 has a built-in Timecard list, that is hidden from normal view for some reason. Although this is by no means a complete solution, it’s freely available to anyone able (or willing) to activate the feature and create it though SharePoint Designer 2010.

Laura Rogers has a very helpful walk-through for creating one of these lists: Out of the Box Timecard and Holiday Lists. Here is a description from her blog:

In SharePoint 2010, there’s a little-known built in feature.  There are list templates that can be used for time card tracking, with a holiday calendar that ties into the time card.

Open Source Project

Paul Beck has published a four part blog series on creating a Timesheet solution from scratch, entitled Timesheet solution for SharePoint 2010. He then went a step further and published his code to CodePlex for anyone to use. In his own words:

A common requirement on Intranets is to have a timesheet template on SharePoint.  There are solution for company timesheets.  I wanted to build a timesheet application that was scalable, reportable and friendly for SharePoint.

If you want to skip the source code, his third article in the series (Part 3 – Installation) has a link to the pre-built package.

This solution is slightly different from the others, as it stores its data in a separate SQL Server database; which may not be an option for everyone.

Lastly

I hope you’ve found our  SharePoint Timesheet series useful. If you know of any better alternatives, please let us know. We’re not afraid of a bit of competition. Winking smile

SharePoint Questions: MSDN versus Stack Exchange

Date:October 17th, 2011 Author: Tags: , , , ,
Category: Community, General Comments:7 ;

SharePoint is an enormous heaving behemoth of machinery; full of spinning cogs, churning engines, and peculiar dials. We’ve all worked with parts of it, but not even those that created it understand all of its inner workings.

So where do we go when the wheel that goes ‘whir’ is going ‘squeakity’? Or when we’re having trouble bolting on some shiny new levers? What we need is an expert in that area.

Two likely candidates for finding yourself an expert are:

  • The MSDN SharePoint forums (MSDN): A SharePoint specific branch of the MSDN forums; a staple of the Microsoft Support offering for the past 7 years
  • SharePoint Stack Exchange (SPSE): A community-created sister site to Stack Overflow, whose rebirth into the new Stack Exchange engine (which I’ve blogged about previously) culminated in a re-launch on its 2 year anniversary last month

All about Questions and Answers

So where does everyone else go to post their questions? A quick glance at the number of questions on each in the last 24 hours* is quite revealing:

MSDNvSPSE questions

The MSDN forums have had over 10 times the amount of questions in the same times period, across its various forums. SPSE is clearly the underdog in terms of its volume of questions, and certainly in terms of traffic.

This is largely unsurprising, as most people will automatically go to Microsoft with their questions, and the MSDN forums are a long-standing staple of the Microsoft support process.

What’s more surprising, is the percentage of questions that are actually answered**:

MSDNvSPSE Answered That’s a 64% answer rate on MSDN and a notably higher rate of 91% on SPSE. So why is there such a big difference? This boils down to two factors:

  • The quality of the questions
  • The quality of the answers

Question quality

Part of the difference in answer rate (and question quantity) is the different motivations behind the sites. MSDN’s goal is to help an individual person with their problem, whereas SPSE is built on Stack Exchange’s ethos of building a definitive FAQ on the subject; making it more likely you’ll find an answer to your question without even asking it.

When it comes to asking a question there’s unfortunately very few ways to improve how someone goes about it (short of Internet-based mind control rays). So the question quality is largely determined by how it is handled after it has been posted. This brings us to Moderation:

MSDNvSPSE modsThe mysterious fade effect isn’t entirely because I just found the ‘Gradient fill’ button; the MSDN SharePoint forums are moderated by the mysterious and unquantifiable force of Microsoft Support, and an unknown number of community moderators with their own pockets of influence.

In contrast, SPSE is moderated by three recognised members of the community. Much like MSDN’s Forum Issues forum, SPSE has Meta for contacting them, but it also has a chat room that can be used for asking questions about questions.

The final and most important effect on question quality is us (the community). Here are the ways we get involved in this process:

MSDN SPSE
Editing Moderators only Anyone can suggest an edit
High reputation users can approve suggestions
Reporting Anyone can Report Abuse As MSDN, with additional dedicated Review reports and achievements
High reputation users can close questions

This additional community contribution on SPSE has a noticeable effect on the quality of questions. Unfortunately this can lead to a much higher maintenance role for Moderators, which may not translate well to MSDN’s moderation processes.

Answer quality

The biggest factor in answer quality is of course the answerer: The quantity of experts on a site that may know about the problematic area, and the amount of everyday people who may have suffered the same problems in the past.

In terms of quantity, both sites have roughly the same number of responses (~3.5 per question***). Approximately 1.6 of these being proposed answers on SPSE; unfortunately the MSDN proposed answer rate isn’t available (except through checking each one of the 163K questions manually).

An important step is luring and identifying the experts, while also rewarding the everyday contributor:

  MSDN SPSE
Points Recognition points Reputation
Awards Achievements Badges
Incentives MVP and MCC programs Increased site privileges

Although very similar in other respects, the two sites use very different incentive methods. The prestigious MVP award and more commonplace MCC award are highly sought-after by experts (especially aspiring ones), and draw many people to the MSDN forums in search of widely-acknowledged recognition.

The incentives on SPSE take a slightly more understated route: As your reputation increases you become more trusted by the community, and hence the site. This increase in trust gives high-reputation users comparable abilities to moderators, purposefully blurring the boundaries.

Another important step is to make it easy for experts to find questions about their area of expertise. MSDN has 21 forums, each dedicated to a category of SharePoint. Between these forums there is fair bit of overlap, and moving misplaced posts is a continuous battle.

In SPSE the questions are all bundled together on a single page. While this would seem chaotic, the tag system thankfully mitigates most confusion, while allowing more flexibility. However, tags are even more open to misunderstanding and misuse than MSDN’s separate forums, leading to the addition of the ability for medium-reputation users to retag questions.

Which site is best?

As a person with a question, the above pie charts would seem to make it clear that SPSE is the best choice. However, it’s worth mentioning that the comparison is not as straightforward as it seems. Both sites have slightly different means of showing questions as answered, and SPSE has a built-in reputation incentive for marking your question as answered (possibly skewing the results).

As an expert, MSDN is like seeking your fortune in the Big City; you might see your name up in lights, maybe just make an honest living, or you might quietly disappear into anonymity. SPSE is more like staying in your home town; the rewards aren’t as dazzling, but they are more certain and (depending on your community-mindedness) possibly more satisfying.

So what’s the conclusion? Post on both of course! There’s no law against cross-posting questions on both sites, and experts are welcome wherever they go. In time you may find you prefer one or the other (which is likely to be a personal choice) but at least now you know what to expect from each.

 

*SPSE numbers from Area51 (only overall total available), MSDN posts were manually counted for the 24 hour period prior to 11:00 13/10/11.

**SPSE numbers from Area51, MSDN answered rate based on sum of forum totals on the front page as of 11:00 13/10/11.

***SPSE numbers are from the Data Explorer (sum of comments and answers), MSDN response rate based on sum of forum totals on the front page as of 11:00 13/10/11.

Thinking Sideways About Highlighter

Date:September 15th, 2011 Author: Tags: , , , , ,
Category: Highlighter, SharePoint Ideas Comments:0 ;

You may have caught Clare’s post earlier about Highlighter’s recent performance enhancements, that were mostly due to some of the surprising ways we’ve seen it being used in the wild. To illustrate this sideways thinking (lateral and literal) we’ll take a look at exploding a humble status column into an Approval Progress Overview:

Status overview

As you can see, we now have a quick at-a-glance idea of how the projects are doing. To create this view, a Highlighter column has been added for each of the statuses. In each of these columns we’ve set it up to display icons (cell color is also a good choice), and cleared the default. Let’s take the Approved status as an example:

Icon setup

All we need to do is click the Auto-create button to create some rules, remove those for the earlier statuses, change the later ones to green icons, and this column’s status of interest to a working icon:

Rules

Just to keep people on their toes lets add a little urgency to the list with a Due Date column. So now we want to change the Approved column to a red icon if the Due Date has passed, and the status isn’t yet Approved. This is done by switching to Advanced mode and adding a single rule:

Due date rule

Here are the results of that extra change:

Overview (with due date)

If that wasn’t enough for you, here’s the weaponized version of Highlighter featuring cell colors, priority icons, and Project Manager Blood Pressure indicator:

weaponised

We’re always interested to hear what you’ve done with our products (especially Highlighter); so if you’ve done something even scarier than the above, send a screenshot to [email protected].

How not to develop a SharePoint [Today] Calculated column

Date:August 22nd, 2011 Author: Tags: , ,
Category: Calculated Columns, Highlighter, Training Comments:4 ;

After developing SharePoint Highlighter, we seriously considered expanding on this area with a Calculated Column that would allow you to use [Today] in the formula. If you’re thinking “But you can already!” I suggest looking at Ryan’s article about the [Today] column trick.

Needless to say, this would be a very useful tool for almost any SharePoint user. After much researching and prototyping we came to an unfortunate conclusion: Although it was possible to make a Custom Field Type to do this, it was almost certainly impractical (certainly for us).

The avenues we investigated finished in three types of dead-end:

  • Brick wall: A completely impassable system limitation.
  • Overgrown with brambles: Nothing but pain for all involved.
  • Swamps: A long unpleasant slog, with an uncertain outcome.

The Brick Wall

The first thought in any developer’s mind when making a variation on a class should be “Inherit it”. It allows you to take advantage of the existing class’ methods with minimal difficulty and yet offers (almost) total control over its behaviour.

Attempting to do so will reward you with the slightly misleading error:

The type ‘Microsoft.SharePoint.SPFieldCalculated’ has no constructors defined

A brief search in the MSDN documentation for SPFieldCalculated shows that the absence of public constructors is intentional:

Windows SharePoint Services 3.0 does not support inheriting from this class.

And so this avenue ended in a brick wall. More worryingly; disallowing the inheritance of a class is usually a sign that something so heinous is happening inside that Microsoft doesn’t want it reproduced.

Brambles

Intrigued by the promise of horrifying creatures dwelling within, I had a look inside the class to see what was happening (using my own powers of code intuition, and not any kind of questionable reverse engineering method).

It seems the actual calculations take place outside of the SPFieldCalculated class, using instead a call to SPRequest. This new lane of research quickly ended in spiky brambles, as using a direct call to SPRequest would make our product (and hence anything it’s installed on) unsupported by Microsoft.

Undeterred, I took inspiration from the billing system at my old work and looked at keeping the ‘black box of calculation mystery’ class running in the background, with the new class acting as a wrapper around it.

Creating a Custom Field Type that kept a hidden field for data storage in the background was an architecture we’d experimented with when creating Highlighter, so adding a relatively minor call to update the formula with the current date and time seemed quite easy.

The thorny ending in this case was the enormous potential server load; updating the formula every time the list was viewed (to keep it up to date) caused the entire list’s worth of calculations to be refreshed. Viewing just 20 items would make up to 5000 items recalculate their values for each of our columns on the view.

Swamps

The final and most desperate option was to do it ourselves: Completely rewrite all or a subset of the calculated column functions, and handle the associated function nesting.

I’m DIM: Doin’ It M’self.

Following this path would mean wading through the boggy and unpleasant process of exactly reproducing Microsoft’s function calls; avoiding the murky bottomless pools of performance issues. All the while hoping we wouldn’t run into any of the hungry and sharp-toothed show stoppers along the way.

As you may have guessed, we didn’t venture down this path.

Why are you telling me all this?

Because although these paths aren’t available to us as an ISV, it doesn’t mean they aren’t options to you (except the brick wall, of course).

Brambles: Using SPRequest is unsupported, but if this doesn’t deter you then this is still very much an option. Similarly, if you have an abundance of processing power (or really need a space heater in your server room) performing complete column recalculations on every view shouldn’t bother you.

Swamps: If you have very specific requirements you could get away with only recoding a few functions, which would greatly reduce the chances of you disappearing forever. Alternatively, if you have a large herd of idle developers you could set about recreating the whole set. However, I doubt this is a serious option for anyone except the head of the Microsoft Silverlight team.

How to create a Countdown in a SharePoint list

Date:May 17th, 2011 Author: Tags: , , , , ,
Category: Highlighter, SharePoint Development, SharePoint Free Tools, Training Comments:0 ;

countdown

If you’ve got a list containing important dates (such as the above example), it’s very useful to be able to easily see how long is left before that date, or how long since it has passed. Unfortunately basing a calculated column on the current date isn’t supported by SharePoint natively, as discussed in my previous article: How to use [Today] in a SharePoint list

So how can we work around this shortcoming without having to wave signs and shout outside Microsoft’s offices? The are a few options available to us:

  • JavaScript: Use a Content Editor Web Part.
  • Designer: Create a custom view in SharePoint Designer.
  • Code: Make your own custom field type from scratch.
  • SharePoint Highlighter: Buy our custom field type.

JavaScript document_into83

Since SharePoint is so uncooperative about using the current date on the server side (i.e. with a calculated column), we can wait until the information gets to our browser and fix it there with JavaScript.

We can get JavaScript onto a page using a Content Editor Web Part, which is added just like any other web part. Christophe at Path to SharePoint has put together a script that displays the date difference on hover, that can be modified slightly to display just the countdown: Countdowns – A second method

Adding a CEWP to each page your list is displayed on can become quite arduous if it’s displayed in a lot of places. In addition to this, information in a CEWP is quite vulnerable to accidental edits, as they are accessible to any user that can edit page content.

Designer designer3013

SharePoint Designer is a free and powerful tool from Microsoft for customizing SharePoint. Unfortunately, because it can do so much, its use is often frowned upon by site administrators (and sometimes even banned).

If you’re lucky enough to be allowed to use it, then (in an unusual twist) Christophe may once again be the person to look to. In a break from his many and various JavaScript solutions he’s put together a Designer solution for this problem too: A countdown for tasks lists

As with the JavaScript solution above, the Designer changes will have to be made on each view web part you want to see the countdown on, but fortunately the changes can only be overridden by someone else using Designer, or an administrator.

Code studio63

If you already have the backbone of a custom field type coded, then adding the XSLT to display this in 2010 should be reasonably straightforward. Alternatively this can be done within the custom field type class.

If you’re using 2007, then CAML rendering unfortunately fails you here, and it’s necessary to use a JavaScript workaround in one form or another.

Creating a custom field type from scratch for this sole purpose is probably going to be remarkably costly (in terms of time). Actually making the foundations of a custom field type is a bit of an investment, but thankfully Microsoft has put together a walkthrough to at least help you get started.

The benefit of using this method is that columns created from a field type are displayed on every page without having to add any additional code to the page itself.

SharePoint Highlighter currency_dollar43

Of course, it is possible to get all the benefits of a custom field type with much less pain: Buy a commercial solution.

If you have a glance at out handy product comparison, you can see the wealth of products we managed to find that offer this functionality. So far that grand total is… One: SharePoint Highlighter.

So if you’re looking for a commercial solution it looks like we’re the only option. If you know otherwise then please do tell us; but for the time being we’ll cheerfully carry on being the front-runner in this one horse race.

How to create a SharePoint KPI column

Date:May 12th, 2011 Author: Tags: , , , , , , , ,
Category: Highlighter, SharePoint Development, SharePoint Free Tools Comments:0 ;

icon

Whether you call it a KPI, an Indicator, or a Data Visualization Asset, the chances are that you immediately understand the purpose of the icons in the picture above. The beauty of adding icons to a list is harnessing this instant recognition to make your users work more efficiently with their data.

So how do we add icons to our list? This depends very much on how complex and configurable you want he results to be, so let me give you a run down of the options:

Do It Yourself

  • JavaScript: Do the work on the client-side with a Content Editor Web Part
  • Designer: Customise the list view using SharePoint Designer
  • Download: Download an open source Custom Field Type
  • Code: Create a custom field type from scratch

Buy It

  • Enterprise Edition: Use the Out of The Box Enterprise Edition functionality
  • Buy: Buy a pre-made Custom Field Type

JavaScript document_into8[6]

By adding a Content Editor Web Part to each page you want the icon to display on, you can add JavaScript that will insert icons once the page has been rendered.

Christophe at Path to SharePoint uses his signature HTML Calculated Column to do most of the hard work in his article: Apply color coding to your SharePoint lists. In this instance JavaScript is used solely to render the HTML correctly, as SharePoint renders the output of calculated columns as text normally.

Designer designer30

If you don’t mind spending a little time dabbling with SharePoint Designer, and you can convince your Site Administrator you’re probably not going to do anything too damaging; then Microsoft’s free tool may be the solution for you.

Toni Frankola has risked the wrath of Microsoft and written an article on how to use Designer reproduce Enterprise edition’s KPI columns without having to upgrade: Visual Indicators for the Masses: KPIs in WSS.

As with the JavaScript solution, you’ll have to make this change on every page you want to see the icons on.

Download arrow_down_green4

If you’re and end-user looking for a quick solution, or a developer interested in further developing an existing Custom Field Type, then the IconSet CodePlex project may be of interest to you.

I have enormous respect for those that donate their efforts to the community, such as the developers of this project. Unfortunately open source developers often have a day job and other commitments, so expecting rapid free support from them can be a tall order.

Code studio6

It’s entirely possible to create a Custom Field Type yourself. This is by far the most time-consuming of the options listed on this page, and hence also probably one of the most expensive. However, if you want to avoid some of the initial investment, you could use the IconSet CodePlex project mentioned above as a good starting point (or reference guide).

Fortunately, as the icons are directly rendered onto the page you can avoid the majority of the JavaScript rendering problems I mentioned in How to do list highlighting in SharePoint. If you also avoid [Today] then you can avoid some of the related trouble.

A benefit of all three of the Custom Field Type options is that the results are shown wherever the column is shown in a view, avoiding page-by-page additions.

Enterprise Edition sharepoint

SharePoint Enterprise edition allows you to add KPI information to your site, along with many other additional features. If you’re working with Enterprise edition then take a look at Mark Miller’s article: KPIs for the Masses.

Since use of this functionality is prolific and directly supported by Microsoft it’s very a good option for those that have this version of SharePoint. Unfortunately the functionality isn’t available to those working with Foundation or Standard edition.

Buy currency_dollar4

Many companies don’t have Enterprise edition, and feel that upgrading solely to use the KPI functionality is perhaps not the best use of resources. As a result, the functionality has been reproduced by a great many products (not least our own: SharePoint Highlighter).

Because we have our own product in this area, we’ve created a product comparison to demonstrate the available functionality, and associated cost.

How to use [Today] in a SharePoint list

Date:May 12th, 2011 Author: Tags: , , , , , ,
Category: Calculated Columns, Highlighter, SharePoint Development, Training Comments:0 ;

today

Quite frequently we see questions about using the current date to display messages on a list when a date or time is (or will soon be) overdue. Most of these queries are from frustrated users who are trying to use [Today] in a calculated column, but find it missing.

I’ll quickly outline why this option is missing from calculated columns, and hence why the notorious [Today] trick is quite so controversial. But most importantly, I’ll run you through ways to actually display the information you want.

Why is [Today] missing from calculated columns?

When we look at a SharePoint list, the vast majority of us are instantly reminded of Excel (or Grandfather Excel, if you prefer). Because of this we quite reasonably expect it to act like Excel, and hence expect it to reconsider every formula and data item on the page each time we view it.

Unfortunately because of the much larger amount of information SharePoint has to pass back and forth, it takes a different approach to updating the data items. It will only update calculated values when the related item is added or edited.

Consider SharePoint as an overworked secretary; if you ask for a file to be updated they’ll find it in the filing cabinet, update the information, and correct anything else that’s awry on the paperwork while they’re there. If you ask for all the files for people named “Smith” to be put on your desk, unless you specifically say “And update the information on every single one while you’re at it”, it’s not likely they’ll do the extra work for no reason.

Because of this change in records-keeping, Microsoft had to skip functionality that would make this lower-maintenance updating method obvious. Since having a [Today] option would cause unedited items to go out of date every day, they had to leave it out. The [Me] option was another casualty, as it would require checking the current user every time the data was displayed.

So how do we get our files updated without further flustering our imaginary secretary? There are several options:

  • JavaScript: Use a Content Editor Web Part. Also known as “Do it yourself.”.
  • Designer: Create a custom view in SharePoint Designer. “Ask the secretary really nicely”.
  • Code: Make your own custom field type from scratch. “Get your own team to do it”.
  • SharePoint Highlighter: Our own solution to the problem. “Hire an extra secretary”.

JavaScript document_into8

Of course there’s always a JavaScript solution, and this one in particular from Paul Grenier uses jQuery to help with the process. This will mean adding the jQuery libraries to your site, and it’s also necessary to add a Content Editor Web Part to each page you want the feature to work on.

A little JavaScript knowledge will probably be necessary to make it fit your requirements, and as with any code tweaking, the more you know the better the result will be.

Designer designer30

SharePoint Designer is a free and powerful (and hence often banned) tool from Microsoft for modifying your SharePoint site. Using Designer it’s possible to alter a view so that it uses Today when rendering the data on the page. This done by modifying the view’s XSLT (the template the view uses to decide what data goes where).

If you’d like a dabble to test the water of such changes, MSDN has a nice tutorial on how to get started.

However, if you already have some experience with Designer (or you’d like to just jump straight in), Greg Osimowicz has an article on using Today in XSLT to calculate holidays accrued to date (scroll down to “Below are the steps I followed:”).

Code studio6

There are a number of possible different methods to solving this problem using a custom field type. As always this comes with my standard disclaimer that developing a custom field type from scratch for a single purpose requires a disproportionate investment of time for the results.

In 2010 it’s possible to do the calculations in the custom field type class (with some light persuasion), however this is not possible with 2007 as it does not use the class to render its information on list views.

Unfortunately not even CAML can save us in this instance, as the View Schema doesn’t provide the current date in a usable form. But if you’re using 2010 you may be able to create a workaround with XSLT and Greg’s Designer XSLT solution in the section above.

The last option is to use the field type to get JavaScript onto the page instead of using a CEWP. This has the benefit that you don’t need to put the CEWP on each page, but as I mentioned in my previous article it can be very troublesome to do so: How to do list highlighting in SharePoint

SharePoint Highlighter currency_dollar4

Normally this is the section where I’d talk about the benefits of a commercial solution, and try to avoid mentioning SharePoint Highlighter too much (I might even link to our product comparison page). However, it’s very difficult to talk in general terms about commercial products on the market that have this functionality when yours is the only one that does.

So I’m not going to beat around the bush: If you want to buy a commercial solution to change your list view display based on today’s date, then SharePoint Highlighter is the only (and hence best) solution. It does much more than just this, but I’m not going to blow my trumpet too much.

If you want to see a real life problem and its solution using SharePoint Highlighter; have a look at this SharePoint Overflow question.