Category: Development

Various articles, public code and other developer resources.

ITIL Priority (Urgency and Impact equals Priority) in a SharePoint Calculated Field

SharePoint Logo

ITIL determines the Priority of an incident as a function of its Impact (its direct effect on business processes) and Urgency (the amount of delay that can be accepted before resolution). Most ITIL-based tools (Remedy, ServiceNow, etc.) handle this conversion internally based on customer definitions.

In some cases you may want to implement this calculation directly within a SharePoint list, or, since this is likely a well-understood concept in the organization, apply a similar calculation to another process. For example, a team using a SharePoint list to accept service requests may define the impact and urgency of those requests to determine a calculated


Accessing SharePoint Lists with JavaScript using DP Tools Part One: The Basics

SharePoint LogoSharePoint lists are amazingly versatile for storing data in an “almost database” kind of way. For those with access to enterprise features and SharePoint Designer, accessing that data to create custom displays and reports is point-and-click easy. Those if us without such access have to get a little more… creative.

Thankfully, SharePoint provides a full roster of Web Services, accessible from client-side code, to leverage its features and data. Accessing these from JavaScript can be confounding or, at the very least, cumbersome. To address this in my work, I’ve created a set of abstractions to make the process as painless as possible. There are obviously other ways – many other ways – to achieve the same thing, this is simply my way of doing it.

  • This technique allows us to pull information from any site accessible to the client, local or not.
  • You and all intended end users must have Read Access to the site and list you’re working with. This is client-side code, after all.
  • You can pull data into other SharePoint pages, of course, but also into non-sharepoint web sites.
  • See my article , “Accessing SharePoint List with Visual Basic for Applications“, for examples of using the services with client-side applications such as Word and Excel.

These examples were developed against SharePoint 2010, but should also work in the 2007 and 2013 versions.


Create a Link to a Remedy Ticket

BMC SoftwareLike many large companies, mine uses BMC Remedy for IT Service Management. One of the seemingly simple tasks that’s often asked of us is to create a page or report that links ticket numbers to their listings in Remedy. This is more difficult that it ever should need to be, but doable with a little work. Note that the following was tested on BMC Remedy 7.6. as, unfortunately, I have no other environment to test in.


DP_SharePoint Update

SharePoint LogoI’ve (finally) incorporated a substantial number of improvements and new features into my JavaScript library, DP_SharePoint, designed to make working with client-side SharePoint development easier. It provides:

  • Methods to acquire JavaScript handlers to SharePoint form controls and fields. This makes it much simpler to interrogate or add event handlers to SharePoint forms.
  • Simple methods to add or remove events from SharePoint form elements.
  • Simple methods to hide and show elements of SharePoint forms.
  • Methods to simplify the calling and use of SharePoint web services and ready the data returned from them for use.

It still beta – and likely will be for… ever – but I’m using it in heavily trafficked production development without problems. Except some in-depth posts about specific features over the next few months.

Comments, criticisms or suggestions are always welcome!

Lotus Notes Tribunal: The Pile of Crap that Keeps on Giving

A Depressed Press SeriesPart 15 of 15 of The Lotus Notes Tribunal

Lotus Notes LogoWe had a heck of a day yesterday! A reddit user samspot, linked to our series, The Lotus Notes Tribunal, during an AMA with a group of IBM developers (none of whom, as an aside, had anything to do with Notes). The site enjoyed a 2,000% increase in page views for the day; more than doubling my previous record!

The whole thing made me nostalgic, so I ran through the company ticketing system to review some of my old support claims for Notes. One instance, in particular, caught my eye. Apparently my resistance to Notes was at an all time low because, in the field that asked for the problem to be described, I entered:

Lotus Notes is a stillborn larva shat from the multi-dimensional sphincter of a tentacled elder-god. Still writhing from the putrescence feasting upon its corpse it was placed on Earth to inject pain and insanity directly into the skulls of the children of man.

Perhaps not surprisingly, the support team closed the ticket as “Unable to Address Concern”. For my part I’m just thrilled that the terrible stain that is Lotus Notes continues to bring people together!

SharePoint Scripting: Maximizing Dialog and Field Widths

SharePoint Logo

SharePoint allows you to edit list items either in a dialog box or in a dedicated window.  Each has its benefits, but if you choose the dialog option with certain content, you may be irked by the default, narrow, size. What follows are couple of tricks that I’ve found to mitigate the issue. For more information on loading and using custom scripts see my article, “SharePoint Scripting Basics: Master Pages, Caching and Loading Scripts“.


Bodybuilders Remind Me of DP_DateExtensions

As none of you remember, I released a huge update to my venerable (8 years-old now!) JavaScript date extensions DP_DateExtensions a couple of years ago. The rewrite was prompted by a bug, but sent my brain down a rabbit hole: just how do you calculate the difference between two dates?

You can read about the whole sordid mess, but it turns out that’s a surprisingly complex question. In the end, the new component ended up with no less than three distinct options for calculating the difference between two time periods.

Anyway, this leads me to a bizarre conversation that was detailed by Joe Veix on Death And Taxes: “Two body builders argue on the internet about how many days are in the week“. The whole exchange is hilarious and is well worth spending some time with.

Still, it did remind me uncomfortably of the week where I nearly went insane trying to figure out how to minus one date from another date. Rabbit holes can be dangerous.