"Minor" Search limitations in Office 365

If you’re a SharePoint developer like me, you probably find the Query Throttle in SharePoint an absolute pain. This is a feature where, under an unnecessarily complicated set of conditions, if you try to ask for too many list items in one query, SharePoint refuses.

Now, while I understand why such a limit is necessary – albeit I’d rather it was simpler – it is something of a problem. For example, multi-choice columns cannot be indexed. If you want to query such a column, and there are more than 5000 items in the list, we’ll, you’re outta luck.

That situation is surprisingly common in Document Management systems. Continue reading “"Minor" Search limitations in Office 365”

"Minor" Search limitations in Office 365

Content Approval and Large Lists

So I’ve discovered an interesting problem with Content Approval, which is a special issue for Office 365. I have a document library with more than 5000 documents in it. Content Approval is turned on, and the customer would like a view of ‘Unapproved Documents’.

Content Approval Annoyance

For a Document Management System, 5000 documents in one repository is small beer, so this is a bit of a problem. “Okay”, I thought, “this must be a choice column, so I’ll just add an index to the column”. Continue reading “Content Approval and Large Lists”

Content Approval and Large Lists

Content Approval and Office 365 Search

I have found an gotchya with Content Approval and Office 365 Search, specifically around draft item security. Embarrassingly, it did take me a while to work out that this was what was going on.

You can use content approval to allow only certain users – such as editors and approvers – the right to see draft items. However, if you do this, then the Search Crawl Account – which normally only has ‘read’ access – cannot see the draft documents to index them. Thus, draft documents that are visible to editors or approvers only never appear in the search results. Continue reading “Content Approval and Office 365 Search”

Content Approval and Office 365 Search

Fail: Visual Studio 'Verify' for Office 365 in 2010 compatibility mode

Right, so I’m trying to develop some Remote Event Receivers. I’ve been using our company’s tenant. Lets call it https://mytenant.sharepoint.com. That tenant was a SP2010 one, which has been upgraded.

I am trying to test using https://mytenant.sharepoint.com/sites/AWBTest. It’s a SP2013 site collection. Unfortunately, https://mytenant.sharepoint.com is still running in 2010 mode. Continue reading “Fail: Visual Studio 'Verify' for Office 365 in 2010 compatibility mode”

Fail: Visual Studio 'Verify' for Office 365 in 2010 compatibility mode

Adding Custom Actions to SharePoint using CSOM

So I’ve been working with Office 365, and deploying site collections and their contents can be … fun. I’ve found that the best approach seems to be to use the Client-side Object Model (CSOM) – the C# API – to deploy and configure my content.

On thing I didn’t think would be easy was adding Custom Actions – but this turned out to be pretty easy, to be honest. Continue reading “Adding Custom Actions to SharePoint using CSOM”

Adding Custom Actions to SharePoint using CSOM

Setting Taxonomy and URL fields in JavaScript Form Templates

Recently, I’ve had a need to build a custom New and Edit form in an Office 365 system. Often I’d approach this with a little custom Application page to use as the form, but that isn’t available in Office 365. I had been about to start writing reams of JQuery and JavaScript until one of my colleagues introduced me to JSLinks. Continue reading “Setting Taxonomy and URL fields in JavaScript Form Templates”

Setting Taxonomy and URL fields in JavaScript Form Templates

Using JSOM to query SharePoint 2013 lists with Taxonomy Fields

So, I’d an interesting problem. I have a SharePoint 2013 list that uses a Managed Metadata (or ‘Taxonomy’) field. I need to, through the JavaScript Client Object Model, get all items that have a particular value or a child of that value on the taxonomy tree. As an example, here’s my taxonomy:termSet Sounds like it should be simple to query this, right? Well, not so much. Continue reading “Using JSOM to query SharePoint 2013 lists with Taxonomy Fields”

Using JSOM to query SharePoint 2013 lists with Taxonomy Fields

Looking up against Large Lists in Office 365

So, I had an issue that I’ve a customer who wanted to have some items look up against a large list. (In fact, it was a large document library). This large list had more than 5000 items. This is a little unfortunate, due to a painful and annoying quirk in SharePoint’s design. Continue reading “Looking up against Large Lists in Office 365”

Looking up against Large Lists in Office 365