SP2013: back-up failing with “Have tried to perform backup/restore operation twice on all in-sync members”

I ran into an error with back-up procedures on SP2013. The error in the log file was:

FaultException: Management called failed with System.InvalidOperationException: 'Job failed: Have tried to perform backup/restore operation twice on all in-sync members in cluster SPe6b9ae739be3.0, but none succeeded. Last failure message: Microsoft.Ceres.SearchCore.Seeding.SnapshotTransferException: Could not send chunk ms\%default\gen.0000000000000309.state: Localpath: [0-700> to target BackupDirectoryTarget[directory=\\backupshare\spbr0001\I.0.0,validateTransfers=False]
at Microsoft.Ceres.SearchCore.Seeding.SnapshotSender.SendChunks(ISnapshot snapshot, ISeedSource source, ISeedTarget target, SeedStatus status, Func1 checkAborted, Int32 targetFragIndex)
at Microsoft.Ceres.SearchCore.Seeding.SnapshotSender.FirstPhaseTransfer(ISeedSource source, ISeedTarget target, Action
1 updateProgress, Func1 shouldAbort)
at Microsoft.Ceres.SearchCore.Seeding.BackupWorker.BackupWork.DoFirstPhaseWork()' at at Microsoft.Ceres.SearchCore.IndexController.BackupService.ThrowOnFailure(JobStatus status)
at Microsoft.Ceres.SearchCore.IndexController.BackupService.ProgressFirstPhase(String handle)
at Microsoft.Ceres.SearchCore.IndexController.IndexControllerManagementAgent.WrapCall[T](Func
2 original)

Searching for this, I found several explanations. They all have one thing in common: it is search related (pretty obvious) and means that search was unable to write to the back-up location.

I seems that search handles a part of the back-up procedure from within it’s own processes. That is, the search service running on SharePoint servers. This means:

– Your search servers need to be able to access the share which is being used for the back-up.
– The service account running search needs to have permissions to write to that share.
– And there should be enough space left, but that’s a no-brainer I hope.

In my case, the second bullet was where my problem was. I granted the service account for search permissions to the share (Full Control), which solved the error. Same is mentioned in this blogpost by Amol Meshe, but he wasn’t sure on the answer.

[SP] RIP SharePoint Developers

Ok. I admit this is a kind of dramatic opening to this blog post and that its contents is probably not as dramatic as you might think. But last week at SharePoint Conference Europe, it finally hit me. The SharePoint developer is no more.

Let me explain. We have all heard Microsofts message about SharePoint apps since SharePoint 2013. It’s all about apps, every developer needs to learn apps. And whether you agree or not, it does sound the bell for a new age in development land. Microsoft is pushing it’s cloud model. And when Microsoft starts pushing, you’d better move in their direction or be prepared to move elsewhere. And to be honest, this push is probably for the best.

Let me explain, again. If you are a SharePoint developer, chances are you have been laughed at by your fellow developers. You’ve always been using old technology. Your Javascript and jQuery skills were seriously lacking. You have been creating weird XML files with Visual Studio, which usually broke things without explaining why. We’ve all been there. There are not that many really good SharePoint developers and that’s because you need a certain level of persistance to get there. Not everyone makes it. People are easily intimidated by everything that can (and will) go wrong in the beginning. Life as a SharePoint developer isn’t always great, that’s just a true fact. So why is it wrong that we will move to a new model? Well, same reason people don’t like Windows 8. It’s weird, it’s new and we do not know it that well, yet.

It’s a fact that SharePoint developers will have to learn new skills when they want to keep up. You all know what I’m talking about. HTML5, Javascript, funky frameworks like Angular, MVC, and the list goes on. I’m guilty myself as well, not keeping up my web development skills. Mainly because SharePoint didn’t have those thing so there simply was no need to learn. Well, times already changed.

So why do I think the SharePoint developer is dead? Well actually, I don’t. Not yet, that is. The “yuk, SharePoint” point of sight still lives on in development land. So it’s going to take a while untill our hip webdevelopment colleagues finally find out SharePoint apps are nothing more than webapplications which use some API’s. Sure, you’re able to deploy XML’s with some lists and stuff, but why would you do that when you can also do the same in provisioning code? Code is easier to create, better to maintain and every developer gets it. So screw those XML’s. Really, apart from a different project type in Visual Studio, a SharePoint app isn’t that much different from any other web application when you take a close look.

When companies start using their normal web development guys to do SharePoint projects, those same companies will find the learning curve to be much less steap than it has been before. It’s far easier to train an existing webdev some API’s and call them “SharePoint developer”. And since there is a big market out there for those same SharePoint developers, why wouldn’t they?

When that happens, we’re done. Our app buddies will create cooler things in lesser time. They will use probably nothing out of SharePoint, maybe store a document or two via the API’s. But companies will still be happy as their apps run “inside SharePoint”, are “fully integrated” and now even look cool, are repsonsive and much more user friendly than before. Uh oh…

This was my biggest take away from last weeks conference. Whether we believe in the app model or not, it will drive change. And if that change is the best for SharePoint, I honestly do not know. What I do know, is that you developer need to start thinking about this and begin to train yourself when you want to keep up. And believe me, I have been skeptic as well, very even. But I now have seen the light and will start doing some Angular in my evening hours. Times are changing!

“Content type is in use” when editing Document Set

I ran into a weird problem today, when editing a document set. I created my own content type inheriting from the default Document Set. I added a new content type to the set and wanted to delete the default “Document” reference. I got an error telling me: “Content Type is in use”. Strange, since I hadn’t even deployed this Document Set type to any library.

After some fiddling around I finally found out what the problem was. Under “Default Content”, the drop down box will have “Document” selected. And even when you didn’t specify a file as default content, that still counts as “in use”. So simply change the dropdown selection to your own custom content type and voila: you can now remove the default document from the allowed content types list.

Waarom het ESM een goed idee is

Vandaag werd er in de tweede kamer gestemd over het ESM: het Europees Stabiliteits Mechanisme. Sommige van u zijn daar niet zo blij mee, vooral mensen die sowieso al niet zo pro-Europa zijn. Ronduit bedroevend vind ik de reacties onder het artikel op nu.nl die je hier kunt lezen. Ik zal niet flauw zijn en er een paar hele domme uit quoten, lees ze zelf maar. Een groot deel klopt simpelweg niet eens (qua feiten, danwel grammatica).

Nu moet ik bekennen, mijn mening is niet helemaal kleurloos. Ik heb familie wonen in Griekenland en daar krijg ik natuurlijk wel eens wat van mee. Ook die familie is niet helemaal kleurloos, want mijn oom is een tijd minister geweest in Griekenland en lid van het Europarlement. Niet dat dat veel uitmaakt, want zijn ministerie (iets met landbouw en tabak als ik me niet vergis) had bijzonder weinig met economie te maken. Ik kan in ieder geval uit eerste hand bevestigen dat ze daar wel degelijk een hoop hebben moeten inleveren (dus ook hij als oud minister), nu meer moeten betalen, maar gelukkig ook nog genoeg geld hebben om rond te komen. Mijn neven en nichten vrezen al wel tijden voor het ergste en zouden dolgraag een baan in het buitenland nemen om van de ellende af te zijn. Maar da’s geen geweldige oplossing, dat snap ik en dat snappen zij ook wel.

Oké, dus waarom zou Nederland dan mee moeten doen aan het noodfonds? Ten eerte is er nogal wat bangmakerij links en rechts. Bekijk bijvoorbeeld dit filmpje op YouTube eens. Als je dat zo ziet, dan ga je je afvragen waarom een land daar uberhaupt mee zou instemmen. Het filmpje vertelt maar de halve waarheid. Heeft een land geen stem? Onzin, een land heeft bij iedere beslissing een veto-stem. En bij crisis situaties dan? Nee inderdaad, dan heeft een land geen veto stem meer als er een meerderheid van 85% of meer is. Maar de angst dat ‘de grote landen’ dan de dienst uitmaken is onzinnig, want ook die hebben bij elkaar geen 85% aandeel. Er zijn wel 3 landen die een aandeel hebben groter dan 15%, namelijk Duitsland, Frankrijk en Italie. En die zouden dus kunnen voorkomen dat er een meerderheid komt. Het enige wat ze daarmee zouden bereiken is dat er juist geen geld uitgegegen wordt. Die drie landen samen hebben ongeveer 64% van de inleg (en dus van de stemmen), dus ook niet voldoende om aan die 85% te komen. Nederland staat overigens 5e op de lijst met ongeveer 6% van de inleg.

Dan zou het 40 miljard kosten. Wederom onzin. We kunnen om maximaal 40 miljard gevraagd worden. Daarvan worden er nu 4,6 ingelegd. Een bodemloze put is het dus ook niet, want die bodem ligt vast. En daarna moet er altijd opnieuw onderhandeld woden. Hebben we weer zeggenschap, fijn! En hoewel dat nog steeds een boel geld is, geven we jaarlijks veel meer uit en bedraagt het begrotingstekort per jaar al tientallen miljarden. “Maar moeten we dan geld inleggen als we al zoveel lenen?” Nee, geld inleggen wanneer je al dik rood staat is natuurlijk nooit fijn. Maar het toont wel aan dat we bereid zijn om voor elkaar klaar te staan. Dat Europa sterker is dan een enkel land alleen. En daar schieten we nu per direct misschien niet zoveel mee op, maar op de lange termijn wel zeker. Iets met samen sta je sterk.

Een ander voordeel is dat de financiele markten door deze maatregel gerust gesteld worden (hoewel die eigenlijk vinden dat er minstens 1000 miljard verzameld moet worden). Daarnaast is er ook nog zoiets als het Internationaal Monetair Fonds (IMF) wat ook centen heeft voor dit soort situaties. De direteur daarvan heeft ook gemeld dat het waarschijnlijk meer bijdraagt wanneer Europa zelf met dit soort acties komt om de goodwill te tonen. Win-win dus.

En dan is er natuurlijk nog de PVV aanhang die heel graag anti Europa en anti Griekenland zijn. Geen cent meer richting het zuiden, ze zoeken het zelf maar uit! Leuk en aardig, maar daar komen jullie tig jaar te laat mee jongens. Snap niet dat Wilders zijn kiezers durft voor te houden dat hij het liefst per direct stopt met Europa. Dat gaat allang niet meer, newsflash!? Wat dat betreft stond er wel een aardige reactie onder het artikel waarin de PVV stemmer werd gevraagd om dan liever te emigreren naar een land wat echt niks met Europa heeft. Blijft er niet veel over hoor. Ja centraal Afrika misschien, maar ik weet niet of Henk en Ingrid daar nu zo zullen aarden.

Mensen, het ESM is niet bedacht om uw geld te laten verdampen. Het is ook niet bedacht om nu in tijden van crisis de boel nog maar even wat erger te maken. Griekenland heeft enorme hoeveelheden geld geleend bij allerlei banken zoals Goldmann Sachs (waarover hier nog een aardige docu) omdat ze nergens anders konden aankloppen. Het ESM is een poging om dat voortaan te voorkomen. De les moet niet zijn dat we maar moeten stoppen nu het moeilijk is. De les moet zijn dat we leren van onze fouten en er alles aan doen om ze in de toekomst te voorkomen. En da’s nu precies waar het ESM een klein stukje van is.

Nog steeds niet overtuigd? Dan stel ik voor dat Europa Griekenland inderdaad maar helemaal laat vallen en dat u dan daar maar gaat wonen. Heeft u de komende jaren gegarandeerd niks meer met Europa te maken. Deal?

Meer lezen?
http://www.nrc.nl/nieuws/2012/05/22/kamer-debatteert-over-euronoodfonds-esm-waarom-is-het-belangrijk-en-omstreden/
http://www.rijksoverheid.nl/bestanden/documenten-en-publicaties/circulaires/2012/05/24/hoe-werkt-het-europese-noodfonds-esm/schets-info-graphic-esm10.pdf
http://www.rijksoverheid.nl/regering/het-kabinet/bewindspersonen/jan-kees-de-jager/weblog/esm.html

SharePoint 2010: deploying webservice to single webapplication

When you want to extend the default API functionality on your SharePoint site, you can add your own webservices to it. There are plenty of articles out there telling you how to do so. But they all have one thing in common; your SVC file mostly ends up in either the _layouts or _vti_bin virtual directories of SharePoint. There’s not much wrong with that, untill you want to deploy to a multi tenant, shared server. Since those virtual directories all point to the same folders on disk, this means your SVC is shared between every SharePoint webapplication on your server.

Mostly this still isn’t a really big problem since your users won’t know the SVC is there and probably don’t have a clue as to what it’s for and how to use it. But let’s face it; it’s not real pretty either. Unfortunately, SharePoint doesn’t really give you any other options. You can place your SVC file in the websites root dir of IIS, sure, but that means manual deployment and no guarantees your file will stay there since SharePoint manages those folders by itself. There’s the option of creating an entire seperate site in IIS which hosts your webservices, but you’d have to manually deploy that to every front-end server in your farm, not great either.

Well, with the help of the community, I found a solution which uses the SharePoint packaging and deployment model and gives you an option to deploy to a specific webapplication! The key is using the local resources folder of a webapplication. Here are the steps to take:

  • Add New item… ‘Empty Element’ to your project.
  • Delete the elements.xml file which it creates.
  • Add your .svc file into the element.
  • Right click the .svc file and pick properties.
  • Under deployment type, set it to ApplicationResource
  • You can customize the Deployment Location, however it will always be under the Resources folder of your inetpub folder (couldnt find a way around this yet)
  • Make sure the element is added to your package, and not to any other features.
  • Deploy and you will find your service at http://webapp/Resources/service.svc

That’s it! Works like a charm and optimizes security. For your webservice code, it doesn’t really matter that much where the svc file is located.

Oh yeah; make sure you’ve got the TokenReplacement setup correctly if you want Visual Studio to replace the assembly reference in your SVC file properly. Check out http://www.chaholl.com/archive/2010/03/10/how-deploy-a-wcf-service-to-sharepoint-2010.aspx for that.

 

Thanks to Dennis George for providing this solution on StackExchange!

New Visual Studio uservoice request

I already blogged about a Visual Studio uservoice request sometime ago. Now… I´M BACK! With a new and shiny one. This time it´s about the Visual Studio Team Foundation Service preview which is online since BUILD. If you haven´t tried it yet; do so. It’s a very powerfull system which combines your entire ALM (Application Lifetime Management) into a single webbased system. It integrates with Visual Studio (of course), but you can use other systems too. And theres a link with Excel for reporting purposes, there’s really too much to tell.

But as with all software, there’s always room for improvement. So I added a uservoice item requesting for a way to group or categorize items on the product backlog. There isn’t a valid way to do this at the moment, and after a short thread on the forums, I decided to add a uservoice item. Feel my hurting? Then please vote it up so the team will look at it for a future version.

My uservoice request is located here:

https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2456383-create-a-grouping-categorising-mechanism-for-pro

SharePoint 2010: Changing the cookie expiration for Forms Authentication

We have several claims based site on which we use Forms based authentication alongside Windows based authentication. The forms based users were regularly complaining that the “Remember me” checkbox “wasn’t working”. Well as usual, it seemed to work for me so at first, I blamed it on cookie policies, cleaner tools, stuff like that. But the comments were persistent so I began digging a little deeper.

First, I thought altering the web.config would suffice. In normal ASP.NET web applications, you can edit the tag and add a timeout for the cookie. But SharePoint handles the cookies for itself, so changing those parameters doesn’t really do anything.

So what’s the way to change it then? The power lies in the service handling the security token requests: the SecurityTokenService. Configuring a longer timeout proves to be quite easy using Powershell. Use these commands:


$sts = Get-SPSecurityTokenServiceConfig
$sts.FormsTokenLifetime = (New-TimeSpan -Days 90)
$sts.WindowsTokenLifetime = (New-TimeSpan -Days 90)
$sts.ServiceTokenLifetime = (New-TimeSpan -Days 90)
$sts.Update()

It’s quite straightforward: the FormsTokenLifetime configures how long forms tokens are valid. The WindowsTokenLifetime does the same for issued Windows tokens. The ServiceTokenLifetime sets the timeout for the security token service cache.

You can check if the timeout changed by using Firefox and inspecting your cookies before changing the settings. Compare the cookie expiration date to the date your get after changing the values. Make sure to delete the cookies first, so new ones are issued. If the settings were correctly updated, the expiration date should have slided.

If you want to implement a sliding expiration, check out this blog post: http://blogs.southworks.net/fboerr/2011/04/15/sliding-sessions-in-sharepoint-2010/

SP2010: copying wiki pages and updating relative links in Powershell

On our intra- /extranet, we have a seperate section in which we allow our customers to log in. Each customer gets a private portal site to collaborate with us. Of course, we wanted to add a help section to help users with the usage of this site. For our internal users, we have a wiki site setup on which several functions of the intranet are explained, as well as the customer section. For our customers, I only want to publish the customer related helpfiles without giving them access to the entire help library.

Read More

Column: Respect my authoritah!

Gisteren hét gesprek bij de koffieautomaat: de boetes gaan per 1 januari 2012 omhoog. Ten eerst snap ik niet zo goed waarom iedereen daar toch altijd zo verbaasd over is. Volgens mij gebeurd hetzelfde namelijk ieder jaar. Het ene jaar zijn het de snelheidsbekeuringen, daarna het rijden door rood en het jaar daarna moet je 220 euro betalen wanneer je met een blikje kalfsragout aan je oor in de auto zit.

Ik vind die boetes op zich niet eens zo heel boeiend. Ik bel af en toe wel eens in de auto, maar meestal gewoon netjes handsfree (hoewel dat voor de veiligheid weinig uit schijnt te maken). Door rood rijden doe ik zelden en als ik te hard rijd, dan is het in ieder geval op momenten dat dat kan en altijd binnen de ‘dag rijbewijs’ grens. Toch vind ik het ergens idioot dat een keer ff vrolijk op je toeter drukken je voortaan 350 euro kan kosten. Ik vraag me ook af waar de grens van het zogenaamd ‘onnodig toeteren’ dan ligt. Wanneer ik bij mijn ouders wegrijd wil ik nog wel eens even op de toeter drukken. Vind ik persoonlijk niet onnodig, het is een sociaal gebaar wat vertelt dat ik het leuk heb gevonden en nu vrolijk weer de terugreis naar huis inzet. Toch zegt iets me dat ze daar in Den Haag heel anders over denken.

Wat ik liever zou zien is dat de politie zich weer gaat bezighouden met politie zijn. Want zeg nou heel eerlijk, de politie in Nederland is nou niet echt een overheidsapparaat wat angst inboezemt, nietwaar? Dat gezever met “de politie is je beste vriend”. Daar heb ik helemaal niet om gevraagd. Ik kies m’n beste vrienden zelf wel en in die kring heb ik de politie vooralsnog niet nodig. De politie moet optreden op het moment dat de maatschappij dat nodig heeft. Daadkracht, sterkte, uitstraling, daar hebben we behoefte aan. Vrienden maken doen we wel op Facebook meneer agent.

In de TopGear van afgelopen maand stond een foto van een paar Brits / Italiaanse politieauto’s die aangekocht zijn door de Italiaanse Carabinieri.

Kijk. Dat noem ik nou een statement! Daar ga ik wel voor naar de kant. Jammer dat er maar 2 geleverd zijn en dat ze zijn bedoeld om organen te bezorgen, maar toch… het is tenminste iets! Ik was als kind ook danig onder de indruk van de Porsches van de rijkspolitie. Dat zijn symbolen die kracht en autoriteit uitstralen, precies waar we behoefte aan hebben als je het mij vraagt. Wel even wat anders dan een Opel Astra met zuurstok striping.

Koop een paar van deze Lotus Evora’s, Nederland! Zet er een paar potige agenten en in laat ze dag en nacht rondrijden in deze bolide’s. Geen papierwerk, geen mooie praatjes of lief gedoe. Optreden! Bijvoorbeeld tegen mensen die het nodig vinden op de snelweg een peuk uit het raam te gooien. Geen 220 euro boete opleggen, dat helpt toch niks. ‘s Avonds een kiepwagen laten aanrukken en hun eigen tuintje volstorten met een paar duizend sigarettenstompjes. Dat ze voortaan hun rommel gewoon in de afvalbak gooien.

Van die eikels die op punten waar iedere dag file staat even de hele rij voorbij rijden om ‘m er helemaal vooraan nog even snel tussen de duwen. Ja meneer de Audi of Mercedes chauffeur, u weet dondersgoed wie ik bedoel. Die gasten die om een of andere reden schijnen te denken dat ze toch echt wel een haartje beter zijn dan de rest van de Nederlanders die wel netjes staan te wachten. Ga daar eens gewoon een hele dag achteraanrijden. Alle overtredingen gaandeweg noteren en aan het eind van de dag bij meneer aanbellen en de auto in beslag nemen. Over een maand of 3 nog maar eens proberen, en dan wel gewoon fijn achteraan sluiten he?

Die agenten, die mogen wat mij betreft best even toeteren als ze voorbij komen. Dat zijn mijn beste vrienden.

Sinterklaas en Poolse Pjotter

Het is die tijd van het jaar weer. De blaadjes beginnen bruin te worden en dwarrelen naar beneden. Vanavond een extra uurtje slaap en de winterjas is inmiddels alweer uit de kast. Iedereen weet dan natuurlijk wat eraan zit te komen… juist! De jaarlijkse discussie over Zwarte Piet en “of dat allemaal wel kan”. Doodmoe wordt ik er ieder jaar weer van, terwijl ik er nog maar vrij weinig mee te maken heb. Van huis uit vieren wij het Sinterklaasfeest nog steeds. Een gezellig avondje samenzijn met cadeau’s en surprises. Een teveel aan snoepgoed zorgt er ieder jaar weer voor dat ik enigszinds misselijk in de auto terug naar huis stap. Hartstikke leuk, hoewel de jaarlijkse surprise stress ieder jaar weer toeslaat. Read More