Sorry, we found 0 results. Please try another query.
Showing max 10 of results

SharePoint changes files during CU installation

You might think, I’m drunk, but I’m not.

SharePoint, as a document management system, should never ever modify files without any notice. However, it seems that we found a bug, where it does modify files.


We have a lot of CSS files in SharePoint. They are used for some custom apps in SharePoint or were just uploaded to OneDrive for Business. All in a SharePoint 2013 OnPrem environment. The CSS files contain base64 encoded data URIs.


.myClass {
    background-image: url(‘data:image/png;base64,MY_IMAGE_AS_A_BASE64_ENCODED_STRING’) !important;

Then we installed a Cumulative Update and ran PSCONFIG.

And then?

What happened then is a really strange thing. The CSS files seem to be the same as before. The “Last Modified” date has not changed. However the content of the CSS file changed a little bit:

`.myClass {
    background-image: url(‘data:image/png;base64,MY_IMAGE_AS_A_…_HERE_NOW_SOME_OTHER_STRING’) !important;

The base64 string before was about 600 characters. After installing the CU it is now 234 characters and only the first about 100 are the same. The rest is some garbage. That leads to broken images and icon-fonts all over the place.
The worst thing here is: What else did the CU installation?
We reproduced the behavior with 2 different CU installations on different sites and it seems, that only the base64 string is modified. Everything else is untouched.

We’ve filed a case at Microsoft and I will update the post when we will have an official statement.

Lync Box for the team

In my last vacation, I built a Lync Box for me and my team at work with a Raspberry Pi Model 2 and 15 LEDs.

The idea came from Jon Gallant who already built the same thing for a single user. He called it beakn, the Lync Status Light and tried not only a Raspi but also some other hardware. I took the idea and made a thing for the whole team (5 people)


First of all: How does it look like?


It is very simple and the inside and the box is not very nice. Maybe I should build one with a 3D printer. However, it is working and we will install it in front of our space. To connect the LEDs I have used an old IDE cable which perfectly fits on the IO ports of the Raspi (after cutting one of the sides).



I’m not using Windows 10 on the Raspi because as I started the project, Windows 10 IoT had no Wifi. It is using the default Raspian Linux Image with Mono. I’m running a .NET console app on it which actually checks an Azure queue every few seconds for new messages. On the clients I’m using a plain old WinForms app without a window and the Lync SDK. It checks for Lync status changes and then sends a message to the Azure queue.

You can find the software on Github here.

SharePoint 2013: Profile synchronization does not delete user profiles

We have configured AD Import in SharePoint 2013 with an LDAP filter set. After some time we discovered, that accounts deleted from AD are not automatically deleted from SharePoint.

After a lot of debugging and testing I found the solution:

The LDAP filter is an “Include” filter so you have to define which accounts should be imported. The filter looked like:

(&(objectCategory=person)(objectClass=user)(!(title=*Service Account*))(|(company=MyCompany1)(company=MyCompany2)))

(Import all accounts which are not service accounts and belong to MyCompany1 or MyCompany2)

You see the issue? Deleted accounts are not included in the filter, so I had to change the filter to include “isDeleted”:

(|(isDeleted=TRUE)(&(objectCategory=person)(objectClass=user)(!(title=*Service Account*))(|(company=MyCompany1)(company=MyCompany2))))

Now also deleted accounts are included and SharePoint will delete the profiles correctly.

Maybe Microsoft should mention this in the documentation. Currently there is only one sentence regarding the LDAP filter:

If you want to filter the objects that you import from the directory service, in the Filter in LDAP syntax for Active Directory Import box, type a standard LDAP query expression to define the filter.Source:

SPSync 0.9.8

Ok, here we go. The sync engine got a major refactoring. It is now a lot faster to get the changes from SharePoint and to iterate over the local files. That means it is now just a matter of seconds to “analyze” the changes even for more than 1000 files and 1 GB. It should therefore also be able to sync your libraries with thousands of files in a reasonable time.

The other big news is the complete new setup experience. Just click here to download and execute the setup. It takes just a few seconds and SPSync should start. That’s it. No “Next”, “Next”, “Finish”, nearly no time and no local admin rights required. Even better: Updates gets automatically installed in the background and on next restart of the app you are up-to-date.

Please report all bugs to [email protected]