Category Archives: Thoughts on the World

SharePoint: Simply C%@p, or Really Complicated C%@p?

There’s a common requirement for professional users of online document management systems. Sometimes you want to have access to a subset of files offline, with the ability to upload changes when you have finished work and are connected again. Genuine professional document management solutions like Open Text LiveLink have been able to do this for years, frequently with a little desktop add-in which presents part of the document library as a pseudo-drive in Windows Explorer.

Microsoft SharePoint can’t do this. It has never been able to do this, and it still can’t. Microsoft have worked out that it’s a requirement, they just seem completely incapable of implementing a usable solution to achieve it, despite the fact that doing so would instantly bridge a significant gap between their online DM solution and their desktop products.

For the first 10 years, they had no solution at all. Then Office 2010 introduced "Microsoft SharePoint Workspace 2010". This promises, but under-delivers. It can cache all documents in a site into a hidden folder on your PC, and allows access to them through an application which looks a little bit like Windows Explorer, but isn’t. It’s very fiddly, and breaks all the rules about how you expect Office apps to work. It’s also slow and unreliable. Google it, and you find bloggers who usually praise Microsoft products to the skies using words like "excrable". Despite at least three office releases since 2010, Microsoft don’t appear to have made any attempt to fix it.

There’s now an alternative option, in the form of OneDrive for Business. This has a different balance of behaviours. On the upside, you can control where it syncs files so that they do appear in Explorer in a controlled fashion. On the downside, you can only link to a single SharePoint site (not much use if you have a client with multiple sites for different groups), and it still insists on synching all files in bulk, which is not what you want at all. On top of that I couldn’t get it to authenticate reliably, and was seeing a lot of failed synchronisations leaving my copy in an indeterminate state. There’s supposed to be a major rewrite in progress, bringing it more inline with the personal version of OneDrive, which works quite well, but no sign of anything useful yet…

Having wasted enough time on a Microsoft-only solution, I reverted to a solution which does work fairly well, using the excellent Syncback Pro. You have to log in using  Internet Explorer and the "keep me signed in" setting before it will work, but after that it delivers exactly what I want, allowing the selection of an exact subset of files, and the location of the copy on your PC, with intelligent two-way synchronisation. Perfect.

Perfect? Well, sort of. Syncback works very well, but even it can’t work around some fundamental limitations of SharePoint. The biggest problem is that when SharePoint ingests a file, at resets both the file modified date and the file created date to be the date and time of ingestion! When you export or check the file, it therefore appears to be a changed, later version than the one you uploaded. Proper professional DM systems just don’t do this, and the Syncback guys haven’t found a solution. Worse, I discovered that SharePoint process was marking some files as checked in, and therefore visible to other users, and some as still checked out to me, and therefore invisible to others.

The latter is a real problem, since the point of uploading the files is to share them with others. It’s also very fiddly to fix as SharePoint doesn’t seem to provide any list of files checked out, and there’s no mechanism to check files in in bulk – you have to click on each file individually and go through the manual check-in process.

Aha, I thought. Surely Microsoft’s excellent development tools will allow me to quickly knock up a little utility to search through a site, find the files checked out to me, and programmatically check them in. Unfortunately not. the first red flag was the fact that on a PC with full installations of Office and a couple of versions of Visual Studio, there’s no installed object model for SharePoint. After a lot of Googling I found a download called the "Office Developer Tools for VS 2013". I didn’t think I needed this, given what I already had installed, but ran the installer anyway. This took longer to complete than a full installation of Office or Visual Studio would, and in the process silently closed all my open office apps, losing some work. When it finished I still couldn’t see the SharePoint objects immediately, but adding a couple of references to my project manually finally worked. Right up to the point where I tried to test run the project, at which point the execution failed on the first line. It appears that these objects are designed to only support development but the code must execute on a server running SharePoint – there’s no concept of developing a desktop tool remotely interrogating a library.

OK, I thought. What about web services? I remember in the early days of SharePoint I was able to use SOAP web services to access and interrogate it, and I thought the same should still be true. To cut a long story short, that’s wrong. There’s no simple listing of the API, and attempting to interrogate services using Visual Studio’s usually excellent tools failed at the first post, with unresolveable authentication errors. In addition they seem to have moved to a REST API which is fundamentally much more difficult to drive if you don’t have a clear API listing. A lot of developers seem to be complaining about similar issues. I did find a couple of articles with sample code, but it all seems to be very complicated compared with what I remembered of the original SOAP API.

After wasting a couple of hours on "quickly knocking up a little utility" I gave up, at least for now. Back to the manual check-in method…

I’ve never been a fan of SharePoint, but it appears to be betting worse, not better. At least the first versions were simply cr@p. The new versions are very complicated cr@p.

Posted in Agile & Architecture, Code & Development, Thoughts on the World | Leave a comment

The Software Utility Cycle

There’s a well-known model called the “Hype Cycle”, which plots how technology evolves to the point of general adoption and usefulness. While there are a lot of detail variants, they all boil down to something like the following (courtesy Wikipedia Continue reading

Wednesday, September 30, 2015 in Agile & Architecture, Thoughts on the World

Lies, Damn’ Lies…

The trouble Volkswagen have got themselves into may be symptomatic of a wider malaise, and we may find that their main failing is breaking the 11th Commandment. Most people, quite naturally, tend to believe the information provided by their gadgets. Continue reading

Wednesday, September 23, 2015 in Thoughts on the World

A Laser-Like Focus?

I suspect we all have something which can attract our attention, like a missile locking onto a homing beacon, even against significant background noise. With Frances, it’s shoes. With me, it’s bread! There was a scene in the excellent, but Continue reading

Sunday, August 16, 2015 in Morocco Travel Blog, Thoughts on the World, Travel

It’s Not Just What You Do With It, Size IS Important

On paper, the Panasonic GM5 should be an ideal "carry around" camera for me. The same sensor and processor as the excellent GX7 and GH4 in a neat pocket-sized packaged. A proper electronic viewfinder. Access to all the Micro Four Continue reading

Thursday, July 23, 2015 in Photography, Thoughts on the World

Crash, Bang, Wallop, What a Picture

I was literally just about to get into bed in my hotel in Liverpool last night, when the air was rent with loud explosions. Fortunately nothing sinister – just fireworks giving a cruise ship a good send-off on her voyage. Continue reading

Tuesday, July 14, 2015 in Photography, Thoughts on the World

Can No-One Write A Good Book About Oracle SOA?

I’m frustrated. I’ve just read a couple of good, if somewhat repetitive, design pattern books: one on SOA design with a resolutely platform-neutral stance, and another on architecting for the cloud, with a Microsoft Azure bent but which struck an Continue reading

Saturday, June 13, 2015 in Agile & Architecture, Reviews, Thoughts on the World

Things Which Really Bug Me About the Kindle

I  read a lot using the Kindle applications for Android and PC. While there’s a lot which is good about that process there are a number of things which really bug me. Some of these look incredibly simple to resolve, Continue reading

Tuesday, June 9, 2015 in Agile & Architecture, Thoughts on the World

A First Day Mistake I’ve Never Seen on LinkedIn

LinkedIn is full of useful little articles about mistakes not to make in the world of work. However here’s one I’ve never seen mentioned. I’ve just had a kick-off meeting with a new client. In order to appear friendly and Continue reading

Wednesday, June 3, 2015 in Thoughts on the World

Scary Format Reversal

My penultimate purchase of music on vinyl was in 1989. I think, if memory at this distance serves, it was Running in the Family by Level 42. In the intervening 26 years I have felt very limited need to use Continue reading

Saturday, May 30, 2015 in Thoughts on the World

Edge of Silence

We’ve just finished our 30th anniversary viewing of Edge of Darkness. I must now have seen the series at least 10 times, but in this case familiarity breeds respect. Like the best Shakespeare play or Verdi opera the series rewards Continue reading

Friday, May 29, 2015 in Photography, Reviews, Thoughts on the World

Standardising the Mac Keyboard

My MacBook Pro is, ironically, the best portable PC I’ve owned. The Big Old Alien is slightly faster and more powerful, but you’d never use the word "portable" about it without gritted teeth, and since the PC world went to Continue reading

Wednesday, May 27, 2015 in PCs/Laptops, Thoughts on the World