Try our new research platform with insights from 80,000+ expert users
it_user9219 - PeerSpot reviewer
Consultant with 51-200 employees
Vendor
Aug 30, 2013
Challenges of using SharePoint for Library Applications

Inmagic recently blogged about the limitations of using SharePoint for library applications, and this prompted me to write this post sharing my recent experiences setting up a SharePoint site for a library catalogue.

We have been working with a client to create a SharePoint 2010 site for a new resource library to manage codes, standards and related documents.  SharePoint is this client’s preferred platform, and as their processes for getting approval for any new software such as a proper integrated library system are onerous, time consuming and often futile, it was decided to just accept the limitations of SharePoint. 

Once it was established that we would need to design a library catalogue in SharePoint, I went searching the web for advice and suggestions.   This in itself is not easy, as a core concept in SharePoint is “Libraries”,  so it is hard to differentiate terminologies and find results relevant to SharePoint usage in a corporate Library setting.  However the references I did find were mostly concerned with how unsuitable it was, although none gave any detailed specifics of particular issues.  I found one SharePoint based library system advertised, but the vendor website is no longer active, and I chatted to a reputed ILS vendor who mentioned spending three years trying unsuccessfully to port their ILS to SharePoint. 

The prospects for designing a catalogue in SharePoint for our client were therefore not promising!  I started our project with SharePoint 2007, but very fortunately the client was able to upgrade the site to SharePoint 2010 mid way through.  I would never attempt to design a catalogue (or anything else) in SharePoint 2007 again.   However with either version, there are still many frustrations, especially as in our situation we were not allowed access to SharePoint Designer which allows editing the underlying website and HTML.  We were required to work with our client’s templates, stylesheets and site structures to ensure a consistent branding across all their SharePoint sites. All comments below are therefore based on just the out of the box functionality available to a site administrator. 

Designing any site in SharePoint needs a thorough planning process, and discussion of this is beyond the scope of this post.  However for anyone contemplating designing a catalogue in SharePoint, here are some factors to consider.

Specifying content types:

  • Most corporate library catalogs will include different types of material, i.e. books, reports, journals, videos, websites etc.  Some of these may require columns (fields) unique to a specific type.  For example you will probably want to add a Frequency column for a journal but not for the rest.
  • By default, all columns show in all displays regardless of whether they have data.  (This reminds me of the original library systems which have now all long since hidden any empty fields!) SharePoint_1000x569
  • To get around this, we set up different reusable Content Types each inheriting from a core set, and different views (display forms) for each type of material.
  • Depending on your version of SharePoint and your specific site settings, there may be a lengthy list of content types and existing site columns to choose from.  There is a very rudimentary description of the expected content for each column,  but no indication in advance of parameters such as if the column type is pre-set, i.e as single line of text, multiple line of text, choice, lookup etc.  Changing a column from one type to another after the fact is often not an option.  Some may also have unexpected settings, e.g. the Route to External Location column.  There is no indication when adding it to your content type that this is a Required Yes/No column, or that it is a  persistent or “sealed” column that cannot be deleted!   There are 28 or so of these persistent columns including others with innocuous sounding names such as Article Date.
  • SharePoint has several reserved column names that cannot be changed. Therefore “Author” in SharePoint terminology is the person creating the resource (record), not the author of a book. It’s not difficult to add a new column for BookAuthor or equivalent, but on the default search results, all records include this SharePoint Author column which is of course inappropriate in a library context. “Date” is also included by default too, but this is the Date entered not a Publication Date.

Formatting views:

  • Most default views in SharePoint are columnar which is perfect for many types of information but does not work well with variable library data where for example, a title can be very short in one record, and very long in the next.  There is no easy way to force a set column width unless you have access to SharePoint Designer.
  • There is a Datasheet view option which is very similar to Excel and would be great for quick editing, but SharePoint does not support this type of view if your content type includes any Managed Metadata columns. 

Managed Metadata:

  • Managed Metadata provides a new taxonomy capability in 2010 which mitigates some of the other negatives when working with SharePoint. 
  • We are using this new column type in several ways: SPTermStore
    • As a controlled vocabulary for our LC Subject Headings so that our technician can start typing and any matching terms are displayed. 
    • Synonyms or abbreviations can be included, so we use this for Publishers so that they are findable by both their full name and their acronym.
    • Terms can be added in a hierarchy so we use this for specifying a general Location and then a specific Office where the items are stored.
    • Multiple terms can be added to a record quickly, and new ones added either on the fly, or through the Term Store.  (However there is no way to batch add an existing list without SharePoint Designer.)
    • Best of all, we can use these Manage Metadata columns as Search Refiners to produce a faceted search results page.
  • The downsides are that you cannot import records from a spreadsheet or use a Datasheet view if the list contains any Managed Metadata columns. 

Search Refiners:

  • We were able to set up several custom search scopes and set the default search to the Library Catalogue only.  
  • Our custom search results page is set up with multiple Search web parts including a Refinement Panel.  Choosing which columns to use as refiners is picky requiring editing a popup XML Editor, but at least it can be done without requiring SharePoint Designer.  However we have not been able to force a consistent order for displaying these refiners, so if a result set mostly belong to the same material type, that refiner is not considered important so it appears lower down the list. 

We have had to lower our expectations regarding what we will be able to accomplish without SharePoint Designer or any IT support. Fortunately the collection is predominantly virtual, so we have not had to think about printing spine labels or shelf lists sorted by LC Classification.  We now have a functioning catalogue and some workflow created with InfoPath forms to support requesting and approving new orders, but there is no question that a purpose built integrated library system would be preferable. 

It may appear that migrating an existing library system to SharePoint or starting a new catalogue would be a cost saving measure if an organization already has SharePoint.  However, as there are no commercial library packages offered on the SharePoint platform, any system will have to be developed and maintained internally.  This reminds me of the many library systems set up over the years in Microsoft Access that end up unsupported when the particular developer leaves. We have converted many of these Access databases to standard library software, but this can be a time consuming process as often the records have limited fields or authority control, requiring us to upgrade the cataloguing. 

Disclosure: My company does not have a business relationship with this vendor other than being a customer.
PeerSpot user
PeerSpot user
Head of Consulting & Solutions EMEA at a tech consulting company with 51-200 employees
Consultant
Aug 29, 2013
The problem with SharePoint social is all or nothing

The problem with SharePoint social is all or nothing. Some organizations doesn’t want to enable the personal sites but keep newsfeeds and follow!

Also SharePoint social doesn’t have any alerting features. So when someone mentions you don’t receive any email and you have to check the news feed. No way of sending direct message like twitter. I feel MS decided to stop in the middle of journey because of yammer acquisition

Disclosure: My company has a business relationship with this vendor other than being a customer. Microsoft partner
PeerSpot user
Buyer's Guide
SharePoint
January 2026
Learn what your peers think about SharePoint. Get advice and tips from experienced pros sharing their opinions. Updated: January 2026.
881,114 professionals have used our research since 2012.
it_user9207 - PeerSpot reviewer
Owner at a tech services company with 51-200 employees
Consultant
Aug 29, 2013
When to stop using SharePoint

For a few years now I’ve been pushing myself to see what is possible with SharePoint 2010. Some of these things are small, out-of-the-box (OOTB) solutions: creating custom search scopes, customizing table styles, and messing with itemstyle.xsl. But more often than not, the solutions I like to create are the ones that go beyond what SharePoint does OOTB. I rely heavily on SPServices for a lot of these solutions. It’s a great tool that does everything I need to do with lists in SharePoint. More recently I’ve been using SharePoint’s REST service and wiring in things like Backbone.js to create some interesting solutions.

Side note: if you want to see some great front-end solutions using SharePoint, check out the book Black Magic Solutions for White Hat SharePoint.

Where is the line?

I was training a SharePoint newcomer last week in New York. My trainee had a strong developer background, and just needed to get familiar with SharePoint for an upcoming job. As I was explaining things to her, I started to talk about a few custom front-end solutions that I’d built, and she latched on to those (coming from the developer world). But as I was explaining things to her, we started to discuss the legitimacy of doing some of these things in SharePoint. When does it change from a “SharePoint solution” to a “solution that uses SharePoint as a relational database”?

Let’s say you are using jQuery, SPServices, and maybe the Google Charts API. You can hook into a list, display a really great chart, and put it on a SharePoint page. That’s a great use of SharePoint. It’s a single page, accessing a single list, and enhancing the experience for the end user. Now say you have several lists that need charts. So we put several charts on the page. Easy. But how about when it comes time to organize all of these charts (say we have 30)? Now we need to add some UI elements that organize the charts in, say, tabs, or maybe an accordion. Ok, that’s great. But now instead of hardcoding in all of our lists to our scripts, we want one list just to organize our other lists. So now our code is much cleaner, we get all of our chart references from one list, and we organize it on the page with one cleaner, bigger script. At this point we have now made a list into a relational connection to other lists. But this is fine, even SharePoint allows this, right? (think Lookup fields)

So where is the line? How many lists must be connected before we pump the brakes and say, “wait…things are getting a little hairy”. See, in my opinion, SharePoint is a great place to store data. It’s also a great place to store data from external sources. It’s a great collection point for everything from a SQL server with lists of students, or to a connection to a 3rd party Gradebok. That’s what SharePoint is great at, being a central point of contact for many different systems. So the logical next step is to build things on top of this central point in order to interact with the data, right?

My personal line

All of my solutions are front-end, nothing server-side for me. But I recently ran into the limit of what I felt comfortable doing using javascript and SharePoint. A client of mine was building a re-enrollment process for the following school year. This process involved parents logging in, seeing their children on the page, and then initiating a re-enrollment form for each child. The form was build using javascript, jQuery, SPServices, and a host of other little plugins (for validation, navigation, etc). It was based on at least 3 lists, one that stored parent data, one that stored student data, and a connector list that connected families together. Functionally, the app worked. There were bugs like anything else, but overall, it worked.

Here’s the problem I had with it. In order to give parents rights to see their data, as well as their child(ren)’s data, we needed to give them access to the parent and student lists. This meant that for that period of time, all parents (if they knew the address) had access to all the data for all other parents. Now, this school is a fairly tight-knit community. There was nothing more in those lists that couldn’t be found out through the directory and doing a little digging. But nonetheless, it was all right there, in an easily exportable format. The intranet is password protected, but who is to say a parent with malicious intent couldn’t have really caused a headache for a lot of people?

But for the sake of argument, let’s say that the list is obscured somewhere or somehow the parents couldn’t directly access it. Well that still leaves a hole on the javascript side. Because it’s javascript, all of my code is loaded in the browser for any tech-savvy user to check out and study. If they weren’t deterred by sloppy code :), then they might be able to get in there and see what’s happening. At very least they can check the requests sent through the console. Once they have this code, they could modify it however they want and run it on their browser. How about if they could figure out how to impersonate somebody else by hardcoding in a username? What if they figured out a way to delete all other re-enrollment forms?

All this aside, we weren’t really worried because a) the time period was so short, and b) the stakes weren’t too high. That said, this was definitely a clear line for me in where I stop using SharePoint. Keep in mind, that’s when “I” stop using SharePoint. A back-end developer could have a field day with this project. Put everything server-side, secure it to the logged-in user, and you’ve got a much better system.

When to stop designing

The other question I have is: how far do we veer from the ‘spirit’ of SharePoint? Branding a master page, making a site look ‘not like SharePoint’ is one thing. But how about these custom solutions? I generally start with a blank HTML file, add in the javascript I need, and then wrap it in some ASP goodness to make it look like a page on my site. But how about the UI elements? Do we use SharePoint list views, or do we built our own repeating table with HTML and javascript? What should we do? Do we use SharePoint forms? Do we only go so far as to create forms in InfoPath? Do we completely customize every aspect of the form because we can “do it better”? I think at some point we need to leave SharePoint alone, let it do what it does, and relegate ourselves to ‘enhancing’, not always ‘replacing’.

SharePoint has its faults, many, many faults. But I think we are doing ourselves an injustice to use SharePoint for some of these solutions. While we may be thinking, “look what I can do with SharePoint,” maybe we should take a second and think “should this be done in SharePoint”? There are faster ways to do things. There are more efficient ways to go about linking data from relational tables.

So where is the line? Where is the line for you? When do you stop developing front-end and go a different route? What are your personal limitations?

Disclosure: My company does not have a business relationship with this vendor other than being a customer.
PeerSpot user
Global consultant at a computer software company with 51-200 employees
Real User
Top 20
Feb 19, 2024
Allows you to easily download and upload files but provides frequent updates

What is our primary use case?

I used the solution to share the documents on my devices.

What is most valuable?

The tool’s performance is good. It is also user-friendly, allowing you to download and upload files easily.

What needs improvement?

SharePoint should not provide frequent updates.

For how long have I used the solution?

I have been using SharePoint for three to four months.

What do I think about the stability of the solution?

The product is stable.

What do I think about the scalability of the solution?

The solution is scalable. Around 1,000 users are using this solution.

What other advice do I have?

Overall, I rate the solution a seven out of ten.

Which deployment model are you using for this solution?

Public Cloud
Disclosure: My company does not have a business relationship with this vendor other than being a customer.
PeerSpot user
Buyer's Guide
Download our free SharePoint Report and get advice and tips from experienced pros sharing their opinions.
Updated: January 2026
Buyer's Guide
Download our free SharePoint Report and get advice and tips from experienced pros sharing their opinions.