I have a SharePoint list with all of our employees in it (current and past), with a status field. There are also fields with their birthday month and birthday day (two fields), and their hire date.

There are about 300 current employees, with an index on the status field.

I want to display upcoming birthdays of current employees (say, within the next 2 weeks) and the current employees with service anniversaries this calendar month.

Also, I want to do this in a nicely formatted way, not the standard SharePoint list view.

One thought was that I could use a list view web part and CSR on the current employees view. But this will be on the home page of the intranet portal, meaning every time someone hits the page, it's going to cycle through 300 list items and filter and format them. And the data is relatively static - it would only change when someone new is hired or someone leaves the company - maybe one or two changes every few months. Seems like a waste of resources and unnecessary increase in page load time/data transfer.

One thought I had was to have a Powershell script that on a daily basis, would read the employee list, and write an HTML file with the birthdays and anniversaries, then upload it to a document library. Then on the intranet home page, it would have a Content Editor Web Part that referenced this HTML file to display them.

Does this sound like a decent solution or am I missing something?

We are using SharePoint 2013 on-prem, but whatever solution I implement must work with SharePoint Online in the future.


That is a possible solution but in this case you have a component that is running outside the SharePoint (PowerShell script) and you have an additional item to manage now considering the functionality that you want to implement is not too complex.

In case you move to SharePoint online in the future as you have mentioned, you will have to modify the PowerShell script to work in SP Online context (authentication etc). The functionality that you need is not too complex to do all this in my opinion!

If you have only a few hundred items in the list, you can simply use the list view web part and filter accordingly. If you want your UI to be fancy, have an HTML page and retrieve and display the data using JavaScript (Jquery/Angular/Knockout etc) which will work in SP Online too ! [assuming your site allows custom scripts to be embedded in pages and you don't want to remediate the solution to SPFX :) ]

  • I'm not that concerned about it being outside SharePoint, as we already have scripts that run that update SharePoint lists from external sources like SQL databases (due to deficiencies in BCS and ECTs). I would all in all prefer to do it within SharePoint, but it seems inefficient to have every hit of the home page (multiple times a day, by ~300 employees) cycle through 300 list items every time, when it's unlikely any of them will have changed over the course of the day. – mannaggia Sep 11 '17 at 13:54
  • And there is no real good way to filter this type of list using the filtering available in a view in a list view web part (where the filtering is done on the server side). If we were still on SP 2010, I would use a Data View Web Part, but MS ruined them in SP 2013, at least from a design point of view. – mannaggia Sep 11 '17 at 13:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.